Hi Leute ich weiß nicht ob dieses Thema noch zu den Basics gehört...Denke eher es ist eine Grenze.
Es geht um eine Schulaufgabe die an sich schon eine Kopfnuss ist(sagt zumindest der Lehrer) ich aber ein wenig mehr kann und mich dementsprechend der Ehrgeiz gepackt hat diese Aufgabe besser zu lösen als es die Aufgabenstellung her gibt:
Aufgabe:
Schreibe ein Programm, das für einen Monat den Kalender ausgibt. ( So ich erweitere: ich möchte den Monat durch eine Eingabe abfragen.. je nach dem ob es Januar ist Februar März und so weiter möchte ich den jeweiligen Monat auf die Konsole bringen: Achtung es soll ANCI 2 sein....)
So ich denke ich brauch erstmal eine Klasse in der ich hierfür den Monat abfrage, bevor ich zur eigentlichen Klasse komme. Bevor ich den Code hier poste möchte ich erstmal mein Plan erleutern (hoffe dieser ist nicht total für die Tonne): Mein Gedanke ist also eine Klasse, die vorerst ein Array von String anlegt, in dem ich alle 12 Monate in einem String hinterlege. Diesen möchte ich abfragen... ichmöchte gerne BufferedReader an der Stelle ausweichen, da ich exceptions noch nicht behersche und ich weiß, dass ich Strings auch mit dem Scanner abfragen kann.
So ich wollte den String durch eine For schleife( die die länge des arrays abfragt)mit der Eingabe vergleichen, und jeweils den übereinstimmenden String übergeben...(gut wenn ich das so schreibe brauche ich eigentlich keine eigene Klasse aber ich denke, dass wenn man diese vll später ergänzen möchte, es nicht so schlecht ist, wenn es in einer seperaten Klasse steht( sie erbt noch nix)
Ich möchte hier unbedingt nur das eine Objektarray erzeugen. Ich werfe die Strings also in head und ich möchte diese später in der main fischen anhand des Monats die dazugehörigen Tage setzten und dann in die eigentliche Aufgabe übergehen die mich nochmal hart durchnimmt. Egal ich habe hier ein dickes Problem erkannt.... ich wiederhole mich im code. Was bringt mir das, wenn ich ein Objekt erzeuge... dieses aber 12 mal abfrage... muss doch in einer for schleife möglich sein
muss diese geschachtelt sein? wie baue ich die auf... und das Zweite und kritischere Problem ist... er will meinen Scanner nullen in der Methode ich glaub ich brauch trotzdem eine exception.
Es geht um eine Schulaufgabe die an sich schon eine Kopfnuss ist(sagt zumindest der Lehrer) ich aber ein wenig mehr kann und mich dementsprechend der Ehrgeiz gepackt hat diese Aufgabe besser zu lösen als es die Aufgabenstellung her gibt:
Aufgabe:
Schreibe ein Programm, das für einen Monat den Kalender ausgibt. ( So ich erweitere: ich möchte den Monat durch eine Eingabe abfragen.. je nach dem ob es Januar ist Februar März und so weiter möchte ich den jeweiligen Monat auf die Konsole bringen: Achtung es soll ANCI 2 sein....)
So ich denke ich brauch erstmal eine Klasse in der ich hierfür den Monat abfrage, bevor ich zur eigentlichen Klasse komme. Bevor ich den Code hier poste möchte ich erstmal mein Plan erleutern (hoffe dieser ist nicht total für die Tonne): Mein Gedanke ist also eine Klasse, die vorerst ein Array von String anlegt, in dem ich alle 12 Monate in einem String hinterlege. Diesen möchte ich abfragen... ichmöchte gerne BufferedReader an der Stelle ausweichen, da ich exceptions noch nicht behersche und ich weiß, dass ich Strings auch mit dem Scanner abfragen kann.
So ich wollte den String durch eine For schleife( die die länge des arrays abfragt)mit der Eingabe vergleichen, und jeweils den übereinstimmenden String übergeben...(gut wenn ich das so schreibe brauche ich eigentlich keine eigene Klasse aber ich denke, dass wenn man diese vll später ergänzen möchte, es nicht so schlecht ist, wenn es in einer seperaten Klasse steht( sie erbt noch nix)
Code:
import java.io.IOException;
import java.util.Scanner;
public class Monatsermittlung
{
String []monat = {"Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"};
Scanner sc = new Scanner(System.in);
protected String monatsermittlung()
{
String eingabe;
boolean auswahl;
if(eingabe=sc.next() )
{
for(int i= 0;i<monat.length;i++)
{
if(eingabe.equals("Januar"))
{
return monat[0];
}
if(eingabe.equals("Februar"))
{
return monat[1];
}
if(eingabe.equals("März"))
{
return monat[2];
}
if(eingabe.equals("April"))
{
return monat[3];
}
if(eingabe.equals("Mai"))
{
return monat[4];
}
if(eingabe.equals("Juni"))
{
return monat[5];
}
if(eingabe.equals("Juli"))
{
return monat[6];
}
if(eingabe.equals("August"))
{
return monat[7];
}
if(eingabe.equals("September"))
{
return monat[8];
}
if(eingabe.equals("Oktober"))
{
return monat [9];
}
if(eingabe.equals("November"))
{
return monat[10];
}
if(eingabe.equals("Dezember"))
{
return monat[11];
}
}
}
else
{
System.err.println("Fehler");
}
}
}
Ich möchte hier unbedingt nur das eine Objektarray erzeugen. Ich werfe die Strings also in head und ich möchte diese später in der main fischen anhand des Monats die dazugehörigen Tage setzten und dann in die eigentliche Aufgabe übergehen die mich nochmal hart durchnimmt. Egal ich habe hier ein dickes Problem erkannt.... ich wiederhole mich im code. Was bringt mir das, wenn ich ein Objekt erzeuge... dieses aber 12 mal abfrage... muss doch in einer for schleife möglich sein
muss diese geschachtelt sein? wie baue ich die auf... und das Zweite und kritischere Problem ist... er will meinen Scanner nullen in der Methode ich glaub ich brauch trotzdem eine exception.