Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Mich beschäftigt folgende Aufgabe:
Man soll ein Programm schreiben, welches die monatlichen Kosten eines Telefontarifs ausgibt.
- monatliche Grundgebühr = 9.99 Euro, 30 Minuten und 30 SMS frei
- für jede weitere Minute 9 Cent / weitere SMS 9 Cent
Soweit bin ich bis jetzt gekommen:
Java:
public class TelefonTarif {
public static void main(String[] args) {
if (anzahlMinuten > 30) {
if (anzahlSms > 30) {
kosten = 9.99 + (anzMinuten - 30) * tarif + (anzahlSms - 30)*preis;
} else {
kosten = 9.99;
}
}
}
}
Braucht man die main Methode?
Wie bekomme ich es hin, dass mich das Programm auffordert, etwas einzugeben?
Könnt ihr evtl. das Programm so verbessern, dass es Sinn ergibt?
Oder Tipps geben?
Deine Herangehensweise ist grundsätzlich nicht verkehrt, es sind noch ein paar Ungereimtheiten vorhanden, z. B. wo kommen die Variablen kosten, tarif und preis her? Die werden nirgends deklariert, insbesondere sollte tarif und preis auch identisch sein. Zudem benutzt du auf einmal anzMinuten statt anzahlMinuten, wieso? Ein- und Ausgabe hast du in deinem Programm auch noch nicht, zur Eingabe hast du schon den entscheidenen Tipp bekommen, für Ausgaben kannst du bswp. nutzen:
die main-Methode brauchst du nur zum start des Programms ;-)
innerhalb der main schreibst du variablen für anzahlMinuten( vlt int) und anzahlSMS( vlt auch int)
dann brauchst du noch variablen freiMinuten (gleicher datentyp wie anzahlMinuten) und freiSMS( datentyp wie anzahlSMS)
zwei variablen fehlen noch eine für grundgebuehr und konsten.
dein "Verbrauch" lässt du dir vom Benutzer eingeben also brauchst du eine Schnittstelle(ausgelatschtes Wort) über die der Benutzer die Werte eingeben kann.
um die Werte zu erhalten vlt eine kleine Nachricht an den Benutzer z.B.: System.out.println( "Anzahl telefonierte Minuten eingeben"); ausgeben, danach einlesen und der Variabeln "anzahlMinuten" zuweisen und noch eine Nachricht für den Benutzer System.out.println( "Anzahl geschriebener SMS eingeben"); und gleiches Spiel wie bei den Minuten
erstmal vielen Dank für die Antworten.
Ich hab mein Programm inzwischen ein bisschen geändert und fertiggeschrieben:
Java:
public class Verzweigungen{
public static double MonatlicheKosten (int anzMinuten, int anzSms)
{
double Gebühren = 0;
Gebühren += 9.99;
if (anzMinuten <= 30)
{
}
else {
anzMinuten=anzMinuten - 30;
Gebühren += anzMinuten*0.09;
}
if (anzSms <= 30)
{
}
else {
anzSms=anzSms - 30;
Gebühren += anzSms*0.09;
}
return Gebühren;
}
Bei der nächsten Aufgabe soll man ein Lohnberechnungsprogramm schreiben, es soll den Wochenlohn ausgeben. Für jede Stunde über der 40h Grenze wird 50% zum normalen Gehalt aufgeschlagen.