有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java循环有问题吗

我正在为学校做一个项目,我需要做一个关于从电脑猜数字的游戏。我的问题是,我的代码不会打印出“Het is fout”这句话,这意味着它们是错误的。它也不会打印他们多次尝试的句子,即使当他们超过限制时它停止了。我的老师不帮我,所以我迫切需要帮助。这是我写的代码:

    while(leesinvoer() != toeval)
    {
        aantalkeer = aantalkeer + 1;
        if(leesinvoer() == toeval)
        {               
            System.out.println("Het is goed het goede nummer was:"+ toeval);
        }
        else
        {
            System.out.println("Het is fout");
        }
        if(aantalkeer > pogingen)
        {
            System.out.println("U heeft te vaak beprobeerd");
        }           
    }

    System.out.println(toevalsgetalmaken(grens));
}

public static int toevalsgetalmaken(int grens)
{
    Random toeval = new Random();
    int toevalsgetal = toeval.nextInt(grens);
    return toevalsgetal;
}
public static int leesinvoer()
{
    String tekst = JOptionPane.showInputDialog(null,"Doe een gok","GOKJE",3);
    int getal = Integer.parseInt(tekst);
    return getal;
}

非常感谢您的帮助


共 (1) 个答案

  1. # 1 楼答案

    每次在if()语句中检查leesinvoer()时,必须调用它一次

    但是您的代码在每个循环中调用leesinvoer()两次:一次从while语句调用,一次从if语句调用

    因此,与while(leesinvoer() != toeval)do while(true)不同,但更好的是,(因为这会给你一个编译器警告说“条件始终为真”),do for(;;)实际上是永远循环的

    然后,在每个System.out()语句(本质上表示一个决定,应该结束循环)之后,执行break;退出循环

    戈德纳沃德!C-:=