Danke an euch zwei für die Antworten Hat mir sehr geholfen.
In meinem kleinen Programm, das ich geschrieben habe ging es darum eine zufällige Zahl zwischen 1 und 10 zu erraten, danach sollte man sich entscheiden können, ob man es noch mal versuchen möchte.
Hier der Code mit Kalendils Variante:
Code:
import java.util.Scanner;
class RatenJaNein
{
public static void main(String [] args)
{
programMethod();
}
public static void programMethod() {
int versuch;
int zahl=(int)((Math.random())*10+1);
String jaNein; //char oder String??
Scanner scan=new Scanner(System.in);
System.out.println("Ich denke mir eine zufällige Zahl zwischen 1 und 10, versuche zu erraten, welche");
versuch=scan.nextInt();
if (versuch==zahl)
{
System.out.println("Du hast richtig geraten!");
}
else
{
System.out.println("Falsch geraten. Die Zahl an die ich dachte war :"+zahl);
}
System.out.println("Möchtest du es nochmal probieren? [J/N]");
Scanner scan2=new Scanner(System.in);
jaNein=scan2.next();
if (jaNein.equalsIgnoreCase("j"))
{
programMethod();
}
}
}
@Ewige Finsternis: Da ich noch ein kompletter Neuling bin, konnte ich die Hälfte deines Codes zwar nicht verstehen, ich habe aber trotzdem versucht mein Programm da irgendwie reinzubekommen. Hoffentlich ist das alles richtig, zumindest macht das Programm das, was es soll.
Hier der Code:
Code:
import java.io.*;
import java.util.Scanner;
public class Test
{
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
public static void main(String args[])
{
Test t = new Test();
while(true)
{
// -1-
t.programm();
// -6-
}
}
public void programm()
{
// -2-
try
{
int versuch;
int zahl=(int)((Math.random())*10+1);
System.out.println("Programm wird gestartet...");
Scanner scan=new Scanner(System.in);
System.out.println("Ich denke mir eine zufällige Zahl zwischen 1 und 10, versuche zu erraten, welche");
versuch=scan.nextInt();
if (versuch==zahl)
{
System.out.println("Du hast richtig geraten!");
}
else
{
System.out.println("Falsch geraten. Die Zahl an die ich dachte war :"+zahl);
}
while(true)
{
System.out.println("Programm neu starten?");
System.out.println("j = JA, n = NEIN, x = BEENDEN");
String eingabe = input.readLine(); // -3-
switch(eingabe) // -4-
{
case "j":
System.out.println("Sie haben sich für JA entschieden! :)\n");
return; // -5-
case "n":
System.out.println("Sie haben sich für NEIN entschieden! :(\n");
break;
case "x":
System.out.println("Sie haben sich entschieden keine Entscheidung zu treffen..\n");
System.exit(0);
break;
default:
System.out.println("Ihre Eingabe '"+eingabe+"' ist ungueltig!\n");
}
}
}
catch(Exception e)
{
System.out.println("Fehler aufgetreten");
}
}
}
Bei meinem Programm reicht es aber auch aus, wenn "n" das Programm beendet