我正在学习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/