kann mir jemand erklären was hier gemacht wurde?

RememberdiAlamo

Aktives Mitglied
Ich habe hier eine java-Datei, bei der man die Monate in Quartale einteilen muss, weiß aber nicht wie diese Programmierung funktioniert. Hätte ich das selbst machen müssen, würde ich nie darauf kommen.
Ich kann die Rechnung nicht nachvollziehen: (monat-1)/3
Wie soll daraus für Januar (1-1)/3= 1. Quartal rauskommen?
Deswegen kann ich auch die case Anweisungen richtig nachvollziehen ???:L
Das Programm funktioniert zwar, weiß aber nicht wie!
 

Anhänge

  • quartal.java
    939 Bytes · Aufrufe: 11

rme

Top Contributor
Ein Jahr besteht aus 12 Monaten. Ein Quartal ist ein Viertel eines Jahres, besteht also aus 12 / 4 = 3 Monaten. Hilft dir das schon weiter oder brauchst du noch weitere Tipps? ;)
 

rme

Top Contributor
Vielleicht denkst du lieber bildlich? Du hast einen Zeitstrahl mit 12 Einheiten, dieser ist in 4 gleichgroße Abschnitte unterteilt - die haben also die Größe 3 Einheiten. Wenn du nun rausfinden möchtest, in welchem Abschnitt davon eine Zahl ist, teilst du die Zahl durch die Größe des Abschnitts - also durch 3.

Weil die Monate nicht von 0 bis 11, sondern von 1 bis 12 gezählt werden, muss das ganze noch verschoben werden, deshalb wird die Eins abgezogen. Jetzt werden also Zahlen zwischen 0 und 11 durch 3 geteilt, die möglichen Ergebnisse sind - nach Abrundung, da int verwendet wird - eben genau 0, 1, 2 und 3. Das switch-case gibt nun für diese 4 Fälle jeweils eine Meldung aus. 0 als Ergebnis entspricht dem 1. Quartal usw.

Besser?
 

RememberdiAlamo

Aktives Mitglied
hmm, gebe ich also 4 ein und es soll ja in der case-Anweisung dem 2. Quartal entsprechen. Dann rechnet das java wie? Es muss ja den 2. Quartal haben: Also (4-1)/3=1. Also deswegen case 1 = 2. Quartal 3: (7-1)/3= (case)2, also entspricht q3. Aye, ja, jetzt glaub ich ich habs!:idea:
Dankeschön!
Nur kann mir noch jemand sagen wie das ganze jetzt auf die 12 Monate begrenzt wird? Wenn ich jetzt 13 als Wert eingebe, dann kommt da nichts raus. Wie erkennt das java? Theoretisch wäre (13-1)/3= 4.
Dafür gibt es aber keine Case-Anweisung, deswegen kommt nichts raus, stimmts? Aber bei 11/3, rundet es nicht auf 4 auf?? Nein tut es nicht, ok.
 
Zuletzt bearbeitet:

RememberdiAlamo

Aktives Mitglied
Okey! Was ich jetzt folgendes machen will ist Folgendes: Ich will bei Zahlenwerten die größer als 13 sind, eine Fehlermeldung anzeigen lassen. Hab ich jetzt halbwegs geschafft. Jedoch nur bis zum Zahlenwert 15. Klar bei 16 würde ja 5 rauskommen

Ich hab jetzt hinzugefügt:
case 4: JOptionPane.showMessageDialog(null, "Ihr Monat liegt außerhalb des Gregorianischen Kalenders");

Ich will daraus jetzt aber größer gleich 4 machen: also:

case >=4: JOptionPane.showMessageDialog(null, "Ihr Monat liegt außerhalb des Gregorianischen Kalenders");
Damit für ALLE Zahlen oberhalb des Wertes die Meldung erscheint. Nur hab ich das Problem, dass dann der Fehler kommt: "illegal start of expression." Wenn ich die 4 ohne den größer gleich Zeichen mache, dann kommt der Fehler nicht, jedoch zählt es nur bis zum Zahlenwert 15. Kann mir da jemand weiterhelfen?
 

rme

Top Contributor
case kann nur konstante Ausdrücke als Wert nehmen, keine Bedingugen. Mir fallen zwei Lösungen ein:

1) Statt "case ..:" verwendest du "default:" - der Code hinter dem default: wird immer ausgeführt, wenn keiner der andere Fälle zutraf. Das würde bei dir für den gewünschten Effekt sorgen, dass alle anderen Fälle eine Fehlermeldung liefern.

2) Du prüfst die eingegebene Zahl direkt nach der Eingabe, bevor du irgendwas damit rechnest. Also mit einer if-Anweisung prüfen, ob sie zwischen 1 und 12 liegt.
 

RememberdiAlamo

Aktives Mitglied
rme: Vielen herzlichen Dank! :)
Hab das mit default gemacht und hat geklappt. Prüfe gleich mit der if-Anweisung, ob das klappt... muss ich das da machen wo die Variablen int q1, q2,q3,q4 festgelgt wurden?
 
Zuletzt bearbeitet:

RememberdiAlamo

Aktives Mitglied
jede Variable innerhalb einer Methode muss muss vor der Verwendung initialisiert werden oder? Mensch, ist das lange her mit java:eek:
Ok, vielen Dank nochmal. Ich werd mich da mal wieder reinarbeiten. ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Kann mir jemand erklären, warum hier dreimal was ausgegeben wird und nicht nur zweimal? Java Basics - Anfänger-Themen 16
T Kann mir jemand wörtlich erklären, was in dem Code genau passiert? Java Basics - Anfänger-Themen 1
F Kann mir jemand kurz dieses Programm erklären? Java Basics - Anfänger-Themen 22
M Könnte mir jemand diese Aufgabe erklären? Java Basics - Anfänger-Themen 2
M Kann mir jemand die Logik erklären? Java Basics - Anfänger-Themen 1
M Könnte mir jemand diese Aufgabe erklären? Java Basics - Anfänger-Themen 9
marcooooo Kann mir jemand das Beispiel kurz erklären so ungefähr:/ Java Basics - Anfänger-Themen 7
A Kann mir Jemand erklären wie ich das iteriere? Java Basics - Anfänger-Themen 4
A Kann mir jemand dieses Programm erklären? Java Basics - Anfänger-Themen 1
B Kann mir jemand diese Bedingung erklären Java Basics - Anfänger-Themen 5
J TabelView - Kann mir jemand die Sequenz genau erklären ? Java Basics - Anfänger-Themen 2
J Kann mir bitte mal jemand diese Codes erklären? Java Basics - Anfänger-Themen 19
D Kann mir vielleicht jemand die reflexive Assoziation erklären? Java Basics - Anfänger-Themen 2
M Kann mir bitte jemand "java.util.ArrayList" erklären? Java Basics - Anfänger-Themen 5
G Kann mir jemand das erklären? Java Basics - Anfänger-Themen 11
M Kann mir jemand erklären, wie "static" funktionier Java Basics - Anfänger-Themen 2
F Kann mir jemand bei dem Fehler helfen? Java Basics - Anfänger-Themen 6
U Kann mir jemand helfen? Java Basics - Anfänger-Themen 2
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
C Kann mir jemand sagen warum public void unzulässig ist? Java Basics - Anfänger-Themen 2
C Kann mir jemand sagen warum ich nicht mal rechnen kann ? Java Basics - Anfänger-Themen 32
C Kann mir jemand helfen was mit diesen Fehlern gemeint ist ? Java Basics - Anfänger-Themen 12
M Kennt jemand die richtige Lösung? Java Basics - Anfänger-Themen 7
HeiTim Kann mir Jemand helfen ? Java Basics - Anfänger-Themen 11
H Versteht jemand diesen Codewars Error? Java Basics - Anfänger-Themen 8
M BerechneEtwas Weiss jemand woran es liegt Java Basics - Anfänger-Themen 8
M Kann mir jemand hier die Logik vermitteln? Java Basics - Anfänger-Themen 3
T Ich habe eine Variabel die nicht Methoden übergreifend ist. Kann mir jemand Helfen :) Java Basics - Anfänger-Themen 5
G Weiß jemand wie man dieses Programm schreibt? Java Basics - Anfänger-Themen 84
G Fehlersuche-kann mir jemand helfen? Java Basics - Anfänger-Themen 46
T Kann jemand kurz das Programm testen? Java Basics - Anfänger-Themen 13
T Aufgabe Flussdiagramm, kann jemand checken? Java Basics - Anfänger-Themen 8
J Hat jemand einen Lösungsansatz für diese Aufgabe? Java Basics - Anfänger-Themen 1
Y kann jemand die Terme mit Zahlen schreiben ?? Java Basics - Anfänger-Themen 4
R Kann mir hier jemand weiterhelfen? Java Basics - Anfänger-Themen 1
B Java -Turtle Grafik - kennt sich jemand damit aus? Java Basics - Anfänger-Themen 1
B Könnte jemand über dieses jurze Javaprogramm schauen? Irgendwas funktioniert mit der z-Varible nicht Java Basics - Anfänger-Themen 2
E Input/Output Kann jemand meinen Code durchschauen? Java Basics - Anfänger-Themen 4
T Kann mir jemand sagen, was bei folgender for-Schleife passiert? Java Basics - Anfänger-Themen 1
F Versteht das jemand? -Java Java Basics - Anfänger-Themen 6
K Könnte mir jemand erläutern, was der autor damit meint? Java Basics - Anfänger-Themen 5
A Hat jemand einen ratschlag, wie java beim replaceALL eine geschweifte klammer erkennt ? Java Basics - Anfänger-Themen 5
H Java Hamster - kann mir jemand weiterhelfen? Java Basics - Anfänger-Themen 4
V kennt jemand empfehlenswerte online tutorials zur Hibernate ? gerne auch englisch. Java Basics - Anfänger-Themen 4
R Kann jemand diese Java Programmierung machen? Versteh ich leider nicht Java Basics - Anfänger-Themen 17
R weiß jemand warum Java diesen Fehler ausspuckt? "Variable might not hav been initialized" Java Basics - Anfänger-Themen 4
I kann mir jemand weiterhelfen, wo liegen die Fehler? Java Basics - Anfänger-Themen 3
E Kann mir jemand sagen was hier falsch ist? Java Basics - Anfänger-Themen 6
gonzoradio Hat jemand Erfahrung mit javavideokurs.de Java Basics - Anfänger-Themen 5
C Hat jemand Ahnung zum GCJ(Gnu Compiler for Java) Java Basics - Anfänger-Themen 7
S Kann mir jemand kurz die Vorteile des Iterators erklaeren..? Java Basics - Anfänger-Themen 8
S Kennt jemand die Default-Cache Zeit beim Java-Plugin? Java Basics - Anfänger-Themen 2
B könnte nochmal jemand über mein Projekt schauen? Java Basics - Anfänger-Themen 4
S unschöne schleifen.jemand ne bessere idee Java Basics - Anfänger-Themen 4
K Kennt jemand ein gutes Tutorial für Wertübergabe? Java Basics - Anfänger-Themen 4
S Hat jemand eine Idee warum die JLabels nicht mehr farbig Java Basics - Anfänger-Themen 7
G Hoffe jemand kann mir ein paar Tips geben:binärer Suchbaum Java Basics - Anfänger-Themen 3
G Nutzt Jemand JCalendar? Java Basics - Anfänger-Themen 3
C Kann jemand mir helfen? Java Basics - Anfänger-Themen 15
N Kann mir bitte jemand helfen? Java Basics - Anfänger-Themen 6
W Java-Code erklären Java Basics - Anfänger-Themen 6
R Pseudocode erklären Java Basics - Anfänger-Themen 6
dieter000 Kurze Frage kann mir ejmand kurz diesen Code erklären, bzw wie man die zeilen erklärt und so Java Basics - Anfänger-Themen 1
B Modulo-Operator anhand eines Beispieles erklären Java Basics - Anfänger-Themen 7
marcooooo Code erklären Java Basics - Anfänger-Themen 28
marcooooo Code erklären Java Basics - Anfänger-Themen 4
Bluedaishi Hilfe beim erklären dieser Methode Java Basics - Anfänger-Themen 5
B Klassendiagramm erklären Java Basics - Anfänger-Themen 3
T Java Code erklären Java Basics - Anfänger-Themen 7
L Methode erklären Java Basics - Anfänger-Themen 4
L Methode erklären Java Basics - Anfänger-Themen 2
J String Problem kann das einer erklären Java Basics - Anfänger-Themen 13
S Programm verständlich erklären Java Basics - Anfänger-Themen 4
N Hilfe, Code erklären Java Basics - Anfänger-Themen 7
B Wie würdet ihr diese Methode erklären? Java Basics - Anfänger-Themen 2
T Java Code erklären Java Basics - Anfänger-Themen 5
D Einlesen funktioniert an einer Stelle nicht und ich kann mir nicht erklären warum Java Basics - Anfänger-Themen 6
M ImageObserver auf Deutsch erklären Java Basics - Anfänger-Themen 3
X Quelltext einen Tic Tac Toe Spiels erklären Java Basics - Anfänger-Themen 4
F Bitte mal Zusammenhänge der Klassen erklären Java Basics - Anfänger-Themen 8
O Rundungsfehler bitte erklären! Java Basics - Anfänger-Themen 4
X Array Ausgabe bei Verwendung von 2 Schleifen erklären Java Basics - Anfänger-Themen 8
C Input/Output Codezeile erklären Java Basics - Anfänger-Themen 5
S For-Schleifen erklären Java Basics - Anfänger-Themen 5
S catch Exception erklären Java Basics - Anfänger-Themen 2
V Wer kann diesen Code leicht erklären Java Basics - Anfänger-Themen 8
H Javacode erklären: Mittelpunkt bestimmen Java Basics - Anfänger-Themen 4
B Code erklären Java Basics - Anfänger-Themen 2
N Wer kann diese Zeile erklären? Java Basics - Anfänger-Themen 9
D Methode erklären Java Basics - Anfänger-Themen 4
D code erklären bitte ! Java Basics - Anfänger-Themen 15
Rudolf Verstehe das Ergebnis nicht - bitte erklären Java Basics - Anfänger-Themen 7
A Am Buch lesen, nun brauch ich eure Hilfe um mir super() zu erklären Java Basics - Anfänger-Themen 4
G Programm erklären -.- Java Basics - Anfänger-Themen 2
K Wer kann mir java.util.Hastable erklären. Java Basics - Anfänger-Themen 3
B Kann mir einer die Import Klassen erklären? Java Basics - Anfänger-Themen 8
I Einlesen von Dateien- wer kann mir den Code erklären ? Java Basics - Anfänger-Themen 4
S sql Klassen erklären Java Basics - Anfänger-Themen 3
P Schreibweise erklären- neu für mich Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben