Guten Tag,
ich stell mich erst einmal vor: Ich bin der Ronny bin 18 Jahre und programmiere ein bisschen rum
Darauf gekommen bin ich eigentlich durch die Berufsschule, weil da haben wir JAVA-Programmierung und das hat mir halt Spaß gmehacht und seitdem mach ich so kleine Projekte wie: Taschrechner, BMI-Rechner und so weiter. Als letzen Schritt haben ich mit meinem Lehrer das Speichern besprochen und das klappt auch alles ganz gut. (mit BuffredWriter)
Als ich das alles ganz gut verstanden habe, habe ich mich an mein erstes "großes" Projekt getraut.
Und da bin ich jetzt leider an ein Problem gestoßen mit switch und case. Das ist ja eigentlich eine ganz einfach Sache, aber leider klappt es bei mir nicht
Ich möchte für jeden Tisch eine eigene Datei erstellen, deshalb habe ich diese Anweisung in eine eigene Methode geschrieben: void schutzmittelEintrag(final int nr)
Es wird der button: schutzeintragen gedrückt damit das geschieht.
Der Übergabeparameter ist da, damit bei jeder Datei die Nummer hinzugefügt wird.
Mit einem chioce (hier zahlEins) wähle ich den Tisch aus
und mit switch welche nummer in den Dateinamen geschrieben wird, damit ich es zuordnen kann.
ich füge mal den Code ein:
Der Code ist nicht fertig.
Zum Verständnis: Es gibt zwei Gruppen von Tischen K und B. Bei if-Auswahl wird K gewählt.
Mein Problem ist jetzt, dass switch IMMER den ersten nimmt, also "case 1:" EGAL welche zahl ich bei zahlEins übergebe. Ich habe es auch schon mit einem String versucht, aber leider das gleiche Ergebnis.
Also kompalieren lässt sich alles und das Programm starten auch.
Ich weiß nicht mehr weiter, wäre nett wenn ihr mir sagen könntet wo das Problem ist. DANKE!!
ich stell mich erst einmal vor: Ich bin der Ronny bin 18 Jahre und programmiere ein bisschen rum
Darauf gekommen bin ich eigentlich durch die Berufsschule, weil da haben wir JAVA-Programmierung und das hat mir halt Spaß gmehacht und seitdem mach ich so kleine Projekte wie: Taschrechner, BMI-Rechner und so weiter. Als letzen Schritt haben ich mit meinem Lehrer das Speichern besprochen und das klappt auch alles ganz gut. (mit BuffredWriter)
Als ich das alles ganz gut verstanden habe, habe ich mich an mein erstes "großes" Projekt getraut.
Und da bin ich jetzt leider an ein Problem gestoßen mit switch und case. Das ist ja eigentlich eine ganz einfach Sache, aber leider klappt es bei mir nicht
Ich möchte für jeden Tisch eine eigene Datei erstellen, deshalb habe ich diese Anweisung in eine eigene Methode geschrieben: void schutzmittelEintrag(final int nr)
Es wird der button: schutzeintragen gedrückt damit das geschieht.
Der Übergabeparameter ist da, damit bei jeder Datei die Nummer hinzugefügt wird.
Mit einem chioce (hier zahlEins) wähle ich den Tisch aus
und mit switch welche nummer in den Dateinamen geschrieben wird, damit ich es zuordnen kann.
ich füge mal den Code ein:
Java:
void schutzmittelEintrag(final int nr){
schutzeintragen.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String mittel;
String datum;
String ftext;
mittel = cschutzm.getSelectedItem();
datum = schutzdatum.getText();
ftext = mittel + " am " + datum + " gegeben\n";
schutzhistorie.appendText(ftext);
try
{
BufferedWriter schutzspeicher;
schutzspeicher = new BufferedWriter(new FileWriter(nr+ "schutzdatei.txt", true));
schutzspeicher.write(ftext);
schutzspeicher.close();
}
catch(IOException fehler)
{}
}
});}
void schutzmittelladen(final int nr){
bfuellen.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try
{
BufferedReader texteingabe;
texteingabe = new BufferedReader(new FileReader("schutzdatei" + nr + ".txt"));
String text = "";
String textzeile;
textzeile = texteingabe.readLine();
while(textzeile != null)
{
text = text + textzeile + "\n";
textzeile = texteingabe.readLine();
}
texteingabe.close();
schutzhistorie.setText(text);
}
catch(IOException f)
{}
}});
}
void auswahlTisch(){
if(kob.getSelectedItem() == "K")
{ int i = Integer.parseInt(zahlEins.getSelectedItem());
switch(i)
{ case 1:
schutzmittelEintrag(1);
break;
case 2:
schutzmittelEintrag(2);
break;
case 3:
schutzmittelEintrag(3);
break;
case 4:
schutzmittelEintrag(4);
break;
case 5:
schutzmittelEintrag(5);
break;
case 6:
schutzmittelEintrag(6);
break;
case 7:
schutzmittelEintrag(7);
break;
case 8:
schutzmittelEintrag(8);
break;
case 9:
schutzmittelEintrag(9);
break;
case 10:
schutzmittelEintrag(10);
break;
case 11:
schutzmittelEintrag(11);
break;
case 12:
schutzmittelEintrag(12);
break;
default:
}}
else
{
{switch(zahlEins.getSelectedItem())
{ case "1":
schutzmittelEintrag(1);
break;
case "2":
schutzmittelEintrag(2);
break;
case "3":
schutzmittelEintrag(3);
break;
case "4":
schutzmittelEintrag(4);
break;
case "5":
schutzmittelEintrag(5);
break;
case "6":
schutzmittelEintrag(6);
break;
case "7":
schutzmittelEintrag(7);
break;
case "8":
schutzmittelEintrag(8);
break;
case "9":
schutzmittelEintrag(9);
break;
case "10":
schutzmittelEintrag(10);
break;
case "11":
schutzmittelEintrag(11);
break;
case "12":
schutzmittelEintrag(12);
break;
default:
}}
}
}
}
Der Code ist nicht fertig.
Zum Verständnis: Es gibt zwei Gruppen von Tischen K und B. Bei if-Auswahl wird K gewählt.
Mein Problem ist jetzt, dass switch IMMER den ersten nimmt, also "case 1:" EGAL welche zahl ich bei zahlEins übergebe. Ich habe es auch schon mit einem String versucht, aber leider das gleiche Ergebnis.
Also kompalieren lässt sich alles und das Programm starten auch.
Ich weiß nicht mehr weiter, wäre nett wenn ihr mir sagen könntet wo das Problem ist. DANKE!!
Zuletzt bearbeitet: