繁体   English   中英

我的游戏在 Eclipse 中运行良好,但在文本编辑器中不起作用(使用终端时使用 ubuntu)。 为什么?

[英]My game works perfectly in Eclipse, but doesn't work in texteditor (ubuntu while using terminal). Why?

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

            }

            }
        }
    }
}

您没有使用循环,因此您发布的代码只会执行一次(如您从命令行中看到的) 在 eclipse 中可能会多次询问的唯一方法是您实际上执行了多次。

您的代码中没有循环。 所以保持你的程序把你包含在 main 方法中的所有实现放入一个无限循环中。

while(true){
   //Your implementation for the game
}

您的终端控制台似乎没有返回正确的“换行符”。 尝试在您的控制台首选项中设置正确的字符编码(UTF-8?试试看)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM