Zum Inhalt springen

BlueJ switch-Anweisung


Bennö

Empfohlene Beiträge

Hallo die Damen und Herren,

ich bin momentan am Programmieren eines Java Projektes innerhalb der Schule und möchte wissen ob es möglich istm innerhalb der switch-Anweisung bei case anstatt einer Zahl einen Buchstaben als Ausdruck nehmen zu können.

Ich möchte ein Quiz über die Konsole realisieren und somit die möglichen Antworten mit a,b,c und d anstatt mit 1,2,3 und 4 als Ausdruck nehmen können.

vielen Dank schonmal

Link zu diesem Kommentar
Auf anderen Seiten teilen

Solange es nur chars sind, kein Problem (chars sind letztendlich auch numerisch, mit Strings geht das nicht). Aber warum probierst Du es nicht einfach aus? Dann kannst Du Dir das selbst beantworten:

public static void main(String[] args) {

		char answer = 'a';

		switch (answer) {

		case 'a':

			System.out.println("a");

			break;

		case 'b':

			System.out.println("b");

			break;

		default:

			System.out.println("nothing fits");

		}

	}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielen Dank schonmal soweit.

Die beiden Vorschläge von euch sind schon recht informativ, doch habe ich ein Problem mit der Umsetzung.


a=Integer.parseInt(br.readLine());

        switch(a)

        {

            case 1:

            System.out.println("hallo....");


            int ch,m,n,o,p,q,r,s,t;


            ch=Integer.parseInt(br.readLine());

            switch(ch)

            {

                case States.a:

                System.out.println(name+" Verloren.. leider falsch  ! ");


                System.exit(0);

                break;

                case States.b:

                System.out.println("");


                break;

                case States.c:

                System.out.println(name+" Leider Verloren!");

                break;

                case States.d:

                System.out.println(name+" Leider Verloren!");

                System.exit(0);

                break;


            }

            m=Integer.parseInt(br.readLine());

            switch(m)

            {

                case States.a:

                System.out.println(name+" Verloren.. leider falsch  ! ");


                System.exit(0);

                break;

                case States.b:

                System.out.println("");


                break;

                case States.c:

                System.out.println(name+" Leider Verloren!");

                break;

                case States.d:

                System.out.println(name+" Leider Verloren!");

                System.exit(0);

                break;


            }[/code]

habe mich gerade damit versucht die strings in integer zu parsen.

nur was ich nicht verstehe ist, wie ich es hinbekomme, dass er bei zB "m=Integer.parseInt(br.readLine());" einen String oder einen char erkennt und verarbeitet..

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nimm mal statt dem Buffered Reader die moderne Scanner Klasse. Der Buffered reader liefert dir alles möglich, beispielsweise beim nächsten Durchlauf das nächste Zeichen der vorherigen Eingabe, was ein Linefeed sein dürfte. Wenn ich das richtig im Kopf hab. Kann auch sein, dass ich grad Unsinn verzapfe und eh das alles mit deinem Problem nichts zu tun hat.

Link zu diesem Kommentar
Auf anderen Seiten teilen

nur was ich nicht verstehe ist, wie ich es hinbekomme, dass er bei zB "m=Integer.parseInt(br.readLine());" einen String oder einen char erkennt und verarbeitet..

readLine liefert Dir einen String. Solange der String selbst nicht aus Zahlen besteht, kannst Du mit parseInt gar nichts produzieren außer Exceptions.

Aber Du kannst beispielsweise chars aus dem String extrahieren, dafür gibt es die Methode charAt(int index).

String hallo = "Hallo";

char h = hallo.charAt(0);

h hat anschließend den Wert "H".

Bearbeitet von Ezra
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...