简体   繁体   English

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

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

I am a first year CS student and I had to make a guessing game in java.我是 CS 的一年级学生,我不得不用 Java 制作一个猜谜游戏。 It works fine in Eclipse, but in ubuntu terminal the program barely works.它在 Eclipse 中运行良好,但在 ubuntu 终端中该程序几乎无法运行。 It only asks me once for a guess of a number and that's it.它只问我一次猜测一个数字,就是这样。

After I give my answer it doesn't ask me again like it does in Eclipse.在我给出答案后,它不会像在 Eclipse 中那样再次询问我。

Does anyone know how to fix?有谁知道如何修复? Sorry that it's in dutch.抱歉,它是荷兰语。

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 中可能会多次询问的唯一方法是您实际上执行了多次。

There is no loop in your code.您的代码中没有循环。 So keep your programme up put your all implementation which contains within main method in to a infinite loop.所以保持你的程序把你包含在 main 方法中的所有实现放入一个无限循环中。

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

It seems that your terminal console does not return the correct 'line-return character'.您的终端控制台似乎没有返回正确的“换行符”。 Try in your console-preferences to set the correct character encoding (UTF-8? try it)尝试在您的控制台首选项中设置正确的字符编码(UTF-8?试试看)

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

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