Hallo,
ich habe eine kurze Frage. Ich soll bei einer Aufgabe eine Zahl im Intervall [1......365] einlesen. Diese soll als Tag im Jahr interpretiert werden, und als Tag/Monat ausgegeben werden. Sprich Tag 150 im Jahr wäre der 30. Mai.
Erste Aufgabe war das Ganze mit If-Anweisungen, soweit so gut.
Nun soll das Ganze mit einem Feld(Array) gemacht werden. Am Ende soll man review halten, was sich den hier nun besser eignet.
In dieser Richtung hab ich mir das Ganze mal vorgestellt. Nun ist die Frage, ist das so die Lösung, oder geht das noch schneller ? Ich hab auch eine for-Schleife bedacht, aber da kann ich ja nicht einzelne Monate mit unterschiedlicher Tagesanzahl zuweisen oder ?
Außerdem wie könnte ich das Ganze so ausgeben ? Sprich mit der Eingabezahl 120 mit der Komponente im Array verbinden und den darauf gespeicherten String ausgeben ?
Vielen Danl im Voraus,
Gonnex
ich habe eine kurze Frage. Ich soll bei einer Aufgabe eine Zahl im Intervall [1......365] einlesen. Diese soll als Tag im Jahr interpretiert werden, und als Tag/Monat ausgegeben werden. Sprich Tag 150 im Jahr wäre der 30. Mai.
Erste Aufgabe war das Ganze mit If-Anweisungen, soweit so gut.
Java:
package Aufgabenblatt3;
import java.util.Scanner;
public class Aufgabe3i1withIf {
public static void main(String[] args) {
int input = new Scanner(System.in).nextInt();
if (input <= 31) {
System.out.println(input + ". Januar");
} else {
if (input > 31 & input <= 59) {
System.out.println(input - 31 + ". Februar");
} else {
if (input > 59 & input <= 90) {
System.out.println(input - 59 + ". März");
} else {
if (input > 90 & input <= 120) {
System.out.println(input - 90 + ". April");
} else {
if (input > 120 & input <= 150) {
System.out.println(input - 120 + ". Mai");
} else {
if (input > 150 & input <= 181) {
System.out.println(input - 150 + ". Juni");
} else {
if (input > 181 & input <= 212) {
System.out.println(input - 181 + ". Juli");
} else {
if (input > 212 & input <= 243) {
System.out.println(input - 212 + ". August");
}
}
}
}
} // Kann weitergeführt werden bis Dezember
}
}
}
}
}
Nun soll das Ganze mit einem Feld(Array) gemacht werden. Am Ende soll man review halten, was sich den hier nun besser eignet.
Java:
package Aufgabenblatt3;
public class Aufgabe3i1withArray {
public static void main(String[] args) {
String[] daysOfYear = new String[365];
daysOfYear[0] = new String("0");
daysOfYear[1] = new String("1. Januar");
daysOfYear[2] = new String("2. Januar");
daysOfYear[32] = new String("1. Februar");
}
}
In dieser Richtung hab ich mir das Ganze mal vorgestellt. Nun ist die Frage, ist das so die Lösung, oder geht das noch schneller ? Ich hab auch eine for-Schleife bedacht, aber da kann ich ja nicht einzelne Monate mit unterschiedlicher Tagesanzahl zuweisen oder ?
Außerdem wie könnte ich das Ganze so ausgeben ? Sprich mit der Eingabezahl 120 mit der Komponente im Array verbinden und den darauf gespeicherten String ausgeben ?
Vielen Danl im Voraus,
Gonnex
Zuletzt bearbeitet von einem Moderator: