java - 猜测随机数

标签 java

我正在学习Java,至少我正在努力。 现在我制作了一个应用程序,您需要猜测使用 math.random 生成的随机数。

代码如下:

import java.util.Scanner;

public class var {
    public static void main(String[] args) {

        Scanner keyboard = new Scanner(System.in);
        //var definitie
        int player;
        int rnummer;

        rnummer = (int) (Math.random() * 50 + 1);

        System.out.println("Raad het nummer!");
        player = keyboard.nextInt();
        System.out.println(rnummer);

        //goed geraden check
        if (player == rnummer) {
            System.out.println("Helaas, dat is niet juist.");
            player = keyboard.nextInt();
        }
        System.out.println("Goed geraden!");
    }
}

现在有一个问题,每次你猜对了,就不可能猜错。 我无法弄清楚问题所在..它一定很简单。

最佳答案

您需要理解该声明:

if (player == rnummer) 
{
     System.out.println("Helaas, dat is niet juist.");
     player = keyboard.nextInt();
}

这意味着:

if player is equals to rnummer
then 
     print "Helaas, dat is niet juist."
     ask a value and store it in player
and read the next line

但是你想要的是

if player is NOT equals to rnummer
then
     print "Helaas, dat is niet juist."
     ask a value and store it in player
check again the condition

这就是我们所说的循环。这与 if 类似,但仅在条件为 false 时退出语句。

while(player != rnummer) 
{
    System.out.println("Helaas, dat is niet juist.");
    player = keyboard.nextInt();
}

如果条件为真,if 仅执行一次 block 语句。

while 将执行 block ,直到条件为 false。

注意:由于循环仅在条件为假时结束(不完全为真,某些关键字可以退出这些关键字,但这是另一个主题),因此您可能会陷入无限循环,这意味着条件永远不会错误。

while(true){
    //Statement
}
// Unreachable code

关于java - 猜测随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41801646/

相关文章:

java - 如何检查固定线程池的利用率

java - 为什么Java Web应用程序是使用Java SE SDK开发的

java - Song类,使用抽象类和接口(interface)

java - 如何仅针对特定 url 额外添加 Spring Security 验证码过滤器

java - 何时为每个应用程序 java 创建多个执行程序服务

java - 获取XML中内部节点的属性

java - "Unresolved compilation pro..."异常错误

java - 如何在Java 8中使用声音效果?蛇吃苹果

识别父类(super class)构造函数的 Javadoc

java - 如何让Java代理和反射协同工作?