gpt4 book ai didi

java - while 循环中的语法错误

转载 作者:行者123 更新时间:2023-12-02 03:34:08 26 4
gpt4 key购买 nike

我收到语法错误,但不明白原因。我正在学习编程入门类(class),所以我的知识非常有限。这是我必须做的一个项目以及我迄今为止拥有的代码。我只是想测试一下我是否走在正确的道路上,但我不能。任何帮助将非常感激,所以我至少可以看到我的下一个问题会是什么哈哈。

import java.util.*;

public class project2 {

public static void main(String[] args) {
Scanner in = new Scanner (System.in);
System.out.println("Welcome, I am thinking of a number between 1-100. Take a guess!");
System.out.print("Please enter your number: ");
int guess = in.nextInt();
Random r = new Random(101);
int counter = 0;
int totalcount = 6;
While (counter != totalcount) { // being told to insert ";" and I have no clue why
if ( guess < r) {
System.out.print("You guessed " + guess);
System.out.println("Too Low");
} else if ( guess > r) {
System.out.print("You guessed " + guess);
System.out.println("Too High");
} else ( guess = r ) {
System.out.print("You guessed " + guess);
System.out.println("YOU'RE PSYCHIC!");
}
counter++;
}
}
}

最佳答案

您的 While 大小写错误。它应该是 while (全部小写)。

请参阅 while 的文档.

但是,您的代码还存在许多其他问题。

首先,如果您已经测试过一个数字不大于或小于它根据定义必须相等。因此,您可以更改

else ( guess = r ) { 

else

这对您来说很幸运,因为 guess = r 不会测试相等性。相反,它会将 r 的值分配给 guess。另外,因为 else (condition) 是语法错误。

其次您尝试在这一行中将 intRandom 进行比较:

if ( guess < r) // r is of type Random, guess is of type Int.

你实际上应该做的是使用你的Random来获取一个int,例如:

Random rnd = new Random();
int r = rnd.nextInt();

if (guess < r) // This is now valid.

第三您已将 101 作为随机数生成器的种子。这意味着它将始终返回相同的数字序列。这可能是您想要的,但如果不是,您可以使用无参数构造函数将当前时间(以毫秒为单位)作为种子

Random rnd = new Random();

关于java - while 循环中的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15117142/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com