Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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");

		}

	}

Geschrieben

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..

Geschrieben

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.

Geschrieben (bearbeitet)
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
Geschrieben

Switch-Anweisungen sind des Teufels ;)

Vermeide Sie wo immer es geht.

Kannst Du auch anders lösen, indem Du ein Objekt mit einem Dictionary im Hintergrund benutzt.

An dieses Objekt schickst Du den zu evaluierenden Ausdruck und erhälst dann als Nachricht die Antwort, die Du benötigst.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...