Switch-Methode nicht berücksichtigt

Status
Nicht offen für weitere Antworten.

viisas

Neues Mitglied
Hallo, hier ist mal der Code zu dem ich ein paar Fragen habe.

1. Ich werde von der Konsole hier immer nur nach dem Teamnamen gefragt, die Turner in der Switch-Methode fragt er nicht nach, warum?

2. Ganz unten bei der PrintWriter-Line für den Turner bekomme ich die Meldung: "operator + cannot be apllied to java.lang.String,turner1 - cannot find symbol". Ich werde verrückt.

Im Endeffekt möchte ich nur, dass ich eine Anzahl an Turnern eingebe und dann sollen dementsprechend viele readLines für die Turner 1 bis max 8 aufgerufen werden. Das mit dem Niederschreiben ist erstmal unwichtig, ich muss ja erst mal dazu kommen alles einzugeben.

Hoffe ihr könnt mir helfen.

Code:
import java.io.*;
import java.lang.*;

public class Test {

    public static void main(String[] args) throws IOException {

        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader bReader = new BufferedReader(isr);


        int tAnzahl=5; // Anzahl der später einzugebenden Turner

        // Eingabe des Teams
        System.out.println("Teamname eingeben:");
        String team = bReader.readLine();

        // Eingabe der Turner
        if (tAnzahl<=8)
        switch (tAnzahl){
            case '1':
                System.out.println("1. Turner eingeben:");
                String turner1 = bReader.readLine();
                break;
            case '2':
                System.out.println("2. Turner eingeben:");
                String turner2 = bReader.readLine();
                break;
            case '3':
                System.out.println("3. Turner eingeben:");
                String turner3 = bReader.readLine();
                break;
            case '4':
                System.out.println("4. Turner eingeben:");
                String turner4 = bReader.readLine();
                break;
            case '5':
                System.out.println("5. Turner eingeben:");
                String turner5 = bReader.readLine();
                break;
            case '6':
                System.out.println("6. Turner eingeben:");
                String turner6 = bReader.readLine();
                break;
            case '7':
                System.out.println("7. Turner eingeben:");
                String turner7 = bReader.readLine();
                break;
            case '8':
                System.out.println("8. Turner eingeben:");
                String turner8 = bReader.readLine();
                break;
        }
        
        bReader.close();

        // Es wird in eine Textdatei geschrieben
        try {
            PrintWriter pw = new PrintWriter("urkunde.txt");

            pw.println("Team: " + team);
            pw.println("Turner: " + turner1);
            pw.close();

        } catch (Exception e) {
            System.out.println("Error: " + e);
        }

    }
}
 
mach mal in den case statments Zahlen statt Buchstaben rein, dann gehts. Also z.B. statt '1' einfach nur 1.
 
Also.
zu 1)
Wieso die ' um die Zahlen in den cases? Du fragst doch Zahlen ab. Richtig wäre hier:
Code:
case 1:
etc.

Zu 2)
Der PrintWriter kann den String turner1 nicht kennen, da du diesen innerhalbs des Switch anlegst und er somit auch nur innerhalb des Switch verwendet werden kann.
 
Wozu brauchst Du hier überhaupt ein switch? Müsste es nicht irgendeine Schleife geben, um emhr als einen Turner einzugeben?
 
Danke erstmal für die Antworten, hätte man auch drauf kommen können. Naja...

zu Murray:

Ich dachte mir schon so etwas. Leider bin ich noch in der 2. Javawoche, also bin ich mit Schleifen noch nicht so fit, dass ich da auf einen grünen Zeig komme.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben