Meine Java "Wahrsagerin"

Hallo liebes Forum,

schon ein mal vorweg, ich bin blutige Anfängerin und habe eine Frage an euch.

Ich habe zum Spaß eine "Wahrsagerin" erstellt, aber wenn man ihr eine Frage stellt und sie diese Beantwortet ist schon wieder Schluss. Wie programmiere ich sie so, das sie nach jeder Frage wieder Fragt was denn meine Frage ist?

Den Grundbaustein, habe auch dem Buch "Java für Dummies" von "Barry Burd"

Ich danke im voraus 🙂


import java.util.Scanner;
import java.util.Random;
import static java.lang.System.out;

public class test {

public static void main (String [] args) {
Scanner keyboard = new Scanner(System.in);
Random myRandom = new Random ();
int zufallszahl;

out.print("Stelle deine Frage mein Kind: ");
keyboard.nextLine();

zufallszahl = myRandom.nextInt(6) +1;


switch (zufallszahl) {

case 1:
out.println("Klar. Ist doch selbstverständlich.");
break;

case 2:
out.println("Nein, was soll die blöde Frage?!");
break;

case 3:
out.print("Mag sein, mag sein.");
out.println("Doch wer weiß das schon?");
break;

case 4:
out.print("Welchen teil von Nein,");
out.println ("hast du nicht verstanden?");
break;

case 5:
out.println("Keine Chance!");
break;

case 6:
out.println ("Ja, nee, is' klar.");
break;

default:
out.print("mein Zufallszahlengenerator");
out.print("ist kaputt.");
out.print("Und du glaubst,");
out.println("du hättest Probleme");
break;
}

keyboard.close();

}
}
 
Java:
import java.util.Scanner;
import java.util.Random;
import static java.lang.System.out;

         public class test {
          
             public static void main (String [] args) {
               
                Scanner keyboard = new Scanner(System.in);
                Random myRandom = new Random ();
                int zufallszahl;
               
               
                out.print("Stelle deine Frage mein Kind: ");
                keyboard.nextLine();               
               
               
               
                zufallszahl = myRandom.nextInt(6) +1;
                                                       
           
                switch (zufallszahl) {
           
                case 1:
                out.println("Klar. Ist doch selbstverständlich.");
                break;
                   
                case 2:
                out.println("Nein, was soll die blöde Frage?!");
                break;
                   
                case 3:
                out.print("Mag sein, mag sein.");
                out.println("Doch wer weiß das schon?");
                break;
               
                case 4:
                out.print("Welchen teil von Nein,");
                out.println ("hast du nicht verstanden?");
                break;
               
                case 5:
                out.println("Keine Chance!");
                break;
               
                case 6:
                out.println ("Ja, nee, is' klar.");
                break;   
               
                default:
                out.print("mein Zufallszahlengenerator");
                out.print("ist kaputt.");
                out.print("Und du glaubst,");
                out.println("du hättest Probleme");
                break;
                }
               
                keyboard.close();
                                                 
                }
             }
 
Wie schon erwähnt wurde nutzt man für sowas Schleifen. Davon gibt es verschiedene Arten. In diesem Fall bietet sich eine do-while Schleife an. Vielleicht hilft dir dieses Beispiel weiter:

Code:
public static void main(String[] args)
{
	Scanner keyboard = new Scanner(System.in);
	
	String input;
	do
	{
		System.out.println("Los geht's");
		input = keyboard.nextLine();
		
	}
	while(!input.equals("EXIT"));
	
	System.out.println("vorbei");
}

Diese Schleife wartet immer wieder auf neue Benutzereingaben. Erst wenn EXIT eingeben wird, wird die Schleife beendet und das Programm beendet sich ebenfalls.
 
Hi......
Schaue mal in meine Siggi, da steht wie du formatieren musst....
Eine Formatierung geht beispielsweise mit dem Affengriff:
Ctrl + Shift + f oder Akt + Shift + f.
Ist Wahrsagen denn besser als wissen?

Deine unbestreitbare Logik tust du einfach in ne Methode (alles) und diese rufst du in Schleife auf. 😉
 
Wie gesagt ich bin ne blutige Anfängerin, ich habe eure Tipps beherzigt, aber finde den Fehler nicht.

Java:
import java.util.Scanner;
import java.util.Random;
import static java.lang.System.out;

public class test {

    public static void main(String[] args) {
        Scanner keyboard = new Scanner(System.in);
        Random myRandom = new Random();
        int zufallszahl;

        String input;
        do
        {
            input = keyboard.nextLine();
            System.out.println("Wie lautet deine Frage?");
            keyboard.nextLine();


            zufallszahl = myRandom.nextInt(8) + 1;

            switch (zufallszahl) {

            case 1:
                out.println("Klar. Ist doch selbstverständlich.");
                break;

            case 2:
                out.println("Nein, was soll die blöde Frage?!");
                break;

            case 3:
                out.print("Mag sein, mag sein.");
                out.println("Doch wer weiß das schon?");
                break;

            case 4:
                out.print("Nein");
                break;

            case 5:
                out.println("Keine Chance!");
                break;

            case 6:
                out.println("Ja, nee, is' klar.");
                break;

            case 7:
                out.println("Eines Tages vielleicht.");
                break;

            case 8:
                out.println("Ein Teil meiner Antwort könnte dich verunsichern...");
                break;

            case 9:
                out.println("Ja");
                break;

            default:
                out.print("mein Zufallszahlengenerator");
                out.print("ist kaputt.");
                out.print("Und du glaubst,");
                out.println("du hättest Probleme");
                break;

            }

            keyboard.close();
           
        } while (!input.equals("Exit"));
        input = keyboard.nextLine();

       
        System.out.println("vorbei");

    }
}
 
Schiebe das:
System.out.println("Wie lautet deine Frage?");

eine Zeile über das:
input = keyboard.nextLine();

Code:
System.out.println("Wie lautet deine Frage?");
input = keyboard.nextLine();

Lösche das einzelne: "keyboard.nextLine();" darunter. Ist überflüssig.

Den Scanner darfst du nicht schließen. Also lösche das: "keyboard.close();"

Auch das "input = keyboard.nextLine();" unter der while Anweisung kann gelöscht werden.
 

Zurück
Oben