我是第一年的CS学生,我不得不用java做猜谜游戏。它在Eclipse中运行良好,但在ubuntu终端中,该程序几乎无法运行。它只询问我一次猜测一个数字,那就是它。
在我给出答案之后,它并没有像在Eclipse中那样再次问我。
有谁知道如何解决?对不起它在荷兰语。
public class Opgave0 {
public static void main(String[] args) {
int x;
Random random = new Random();
int getal = 0;
System.out.println("Geef een getal tussen 1 en 10, je mag drie keer raden.");
System.out.println("Eerste keer:");
Scanner Scanner = new Scanner(System.in);
getal = Scanner.nextInt();
x = random.nextInt(9) + 1;
if (getal > 10) {
System.out.println("Het getal is te hoog, kies een getal van 1 tot 10 en probeer het opnieuw.");
}
else if (getal < 1) {
System.out.println("Het getal is te laag, kies een getal van 1 tot 10 en probeer het opnieuw.");
}
else {
if (getal > 0 && getal < 10) {
if (getal == x) {
System.out.println(x + " klopt, goed geraden!");
}
else if (getal > x) {
System.out.println("te hoog");
System.out.println("Tweede keer:");
getal = Scanner.nextInt();
if (getal == x) {
System.out.println(x + " klopt, goed geraden!");
}
else if (getal > x) {
System.out.println("te hoog");
System.out.println("Derde keer:");
getal = Scanner.nextInt();
if (getal == x) {
System.out.println(x + " klopt, goed geraden!");
}
else if (getal > x) {
System.out.println("te hoog");
}
else if (getal < x) {
System.out.println("te laag");
}
}
else if (getal < x) {
System.out.println("te laag");
System.out.println("Derde keer:");
getal = Scanner.nextInt();
if (getal == x) {
System.out.println(x + " klopt, goed geraden!");
}
else if (getal > x) {
System.out.println("te hoog");
}
else if (getal < x) {
System.out.println("te laag");
}
}
}
else if (getal < x) {
System.out.println("te laag");
System.out.println("Tweede keer:");
getal = Scanner.nextInt();
if (getal == x) {
System.out.println(x + " klopt, goed geraden!");
}
else if (getal > x) {
System.out.println("te hoog");
System.out.println("Derde keer:");
getal = Scanner.nextInt();
if (getal == x) {
System.out.println(x + " klopt, goed geraden!");
}
else if (getal > x) {
System.out.println("te hoog");
}
else if (getal < x) {
System.out.println("te laag");
}
}
else if (getal < x) {
System.out.println("te laag");
System.out.println("Derde keer:");
getal = Scanner.nextInt();
if (getal == x) {
System.out.println(x + " klopt, goed geraden!");
}
else if (getal > x) {
System.out.println("te hoog");
}
else if (getal < x) {
System.out.println("te laag");
}
}
}
else {
System.out.println("Kies een getal tussen 1 en 10, jouw getal is te hoog/laag");
}
}
}
}
}
答案 0 :(得分:0)
你没有使用循环,所以你发布的代码只会执行一次(正如你在命令行中看到的那样)它在eclipse中多次询问的唯一方法就是你实际上正在执行好几次。
答案 1 :(得分:0)
您的代码中没有循环。因此,请保持您的程序将包含在main方法中的所有实现置于无限循环中。
while(true){
//Your implementation for the game
}
答案 2 :(得分:-1)
您的终端控制台似乎没有返回正确的&#39;行返回字符&#39;。尝试使用console-preferences设置正确的字符编码(UTF-8?试试)