Java 彩票-猜对号码 扫描仪输入=新扫描仪(System.in); 随机=新随机(); 系统输出打印(“输入您想要的数字(1-1000):”; int unos=input.nextInt(); int rand=random.nextInt(1000)+1; 系统输出打印项次(兰德); 如果(unos=随机){ System.out.printf(“恭喜你”); } 而(unosrand){ System.out.println(“您的号码更高\t请重试:”; unos=input.nextInt(); }
所以,如果我点击的数字不等于随机生成的数字,但一旦我点击,它不会输出“恭喜你赢了”。它只是终止了。为什么?Java 彩票-猜对号码 扫描仪输入=新扫描仪(System.in); 随机=新随机(); 系统输出打印(“输入您想要的数字(1-1000):”; int unos=input.nextInt(); int rand=random.nextInt(1000)+1; 系统输出打印项次(兰德); 如果(unos=随机){ System.out.printf(“恭喜你”); } 而(unosrand){ System.out.println(“您的号码更高\t请重试:”; unos=input.nextInt(); },java,if-statement,random,Java,If Statement,Random,所以,如果我点击的数字不等于随机生成的数字,但一旦我点击,它不会输出“恭喜你赢了”。它只是终止了。为什么? Scanner input = new Scanner(System.in); Random random = new Random(); System.out.print("Enter a number u wish(1-1000): "); int unos = input.nextInt(); int rand = random.nextInt(1000) + 1; System.o
Scanner input = new Scanner(System.in);
Random random = new Random();
System.out.print("Enter a number u wish(1-1000): ");
int unos = input.nextInt();
int rand = random.nextInt(1000) + 1;
System.out.println(rand);
if (unos = random) {
System.out.printf("Congratz u won");
}
while (unos < rand) {
System.out.println("Your number is lower \t Try again: ");
unos = input.nextInt();
}
while (unos > rand) {
System.out.println("Your number is higher\t Try again: ");
unos = input.nextInt();
}
import java.util.Scanner;
导入java.util.Random;
公共类Lutrija{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
随机=新随机();
系统输出打印(“Uneti broj koji mislite da ce ispasti(1-1000):”;
int unos=input.nextInt();
int rand=random.nextInt(1000)+1;
系统输出打印项次(兰德);
while(unos!=兰特){
如果(unos==兰德){
System.out.println(“恭喜”);
}
否则如果(unos>rand){
System.out.println(“broj je veci od Izvuchenog”);
unos=input.nextInt();
}
else if(unos您在if语句中使用赋值=
而不是相等测试=
。更改为:
import java.util.Scanner;
import java.util.Random;
public class Lutrija {
public static void main(String []args){
Scanner input = new Scanner(System.in);
Random random = new Random();
System.out.print("Uneti broj koji mislite da ce ispasti(1-1000): ");
int unos=input.nextInt();
int rand =random.nextInt(1000)+1;
System.out.println(rand);
while (unos!=rand){
if(unos==rand){
System.out.println("Congratz");
}
else if (unos>rand){
System.out.println("broj je veci od izvucenog");
unos=input.nextInt();
}
else if (unos<rand){
System.out.println("broj je manji od izvucenog");
unos=input.nextInt();
}
}
}
}
您还应该将代码包含在一个循环中,循环直到guess等于随机数,否则它只会终止,因为当
条件成立时,您在if语句中使用赋值=
而不是相等测试=
。更改为:
import java.util.Scanner;
import java.util.Random;
public class Lutrija {
public static void main(String []args){
Scanner input = new Scanner(System.in);
Random random = new Random();
System.out.print("Uneti broj koji mislite da ce ispasti(1-1000): ");
int unos=input.nextInt();
int rand =random.nextInt(1000)+1;
System.out.println(rand);
while (unos!=rand){
if(unos==rand){
System.out.println("Congratz");
}
else if (unos>rand){
System.out.println("broj je veci od izvucenog");
unos=input.nextInt();
}
else if (unos<rand){
System.out.println("broj je manji od izvucenog");
unos=input.nextInt();
}
}
}
}
您还应该将您的代码包含在一个循环中,循环直到guess等于随机数,否则它只会终止,因为当条件成立时,如果您没有使用格式说明符(例如,
%s,%f,
),请不要使用printf()
)这是你的真实代码吗?我问你是因为你声称你能运行它,而我不能编译它,因为(unos=random)
会返回int
,而不是boolean
(如果可以将int
与random
进行比较)。您使用的是哪个版本的Java?太好了,您修复了=
。现在修复循环。而且您仍然有3个rand
实例。这就是为什么它不会在任何Java版本上编译。@user3299707它为什么不工作?请具体说明,以便我们可以提供帮助。对我来说似乎是可行的。不要使用printf()
如果您没有使用格式说明符(例如,%s,%f,
),这是您的真实代码吗?我这样问是因为您声称您能够运行它,而我无法编译它,因为(unos=random)
将返回int
而不是boolean
(如果可以将int
与Random
进行比较)。您使用的是哪个版本的Java?太好了,您修复了=
。现在修复循环。而且您仍然有3个rand
实例。这就是为什么它不会在任何Java版本上编译。@user3299707为什么它不工作?请具体说明,以便我们可以提供帮助。对我来说似乎是可行的。我听了您的话,但您的代码中有一个错误,它不会nt工作是因为在while循环中它不会到达while(unos!=rand){if(unos==rand){@user3299707如果在初始化变量时碰巧unos==rand
,它将丢失它。我建议将unos的初始值设置为保证不同的值,即-1,并在while循环中输入整数。@user3299707 True.Moveif(unos==rand){(System.out.println(“Congatz”);}
跳出循环,如果的话就去掉,因为它现在是多余的。而且do{read()}while(x!=y)
在这里似乎比read();while(x!=y){tests,,,readreach()}更合适
@Pshemo很好,我已经根据你的建议更新了答案。@xlm你没有在任何地方存储用户值。你可能想要while((unos=input.nextInt())!=rand)
我听了你的话,但是你的代码中有一个错误,因为在while循环中它不会到达if(unos==rand)in while(unos!=rand){if(unos==rand){@user3299707如果在初始化变量时碰巧unos==rand
,它将错过它。我建议将unos的初始值设置为保证不同的值,即-1,并在while循环中输入整数。@user3299707 True.Moveif(unos==rand){(System.out.println(“Congatz”);}
跳出循环,如果
的话就去掉,因为它现在是多余的。而且do{read()}while(x!=y)
在这里似乎比read();while(x!=y){tests,,,readreach()}更合适
@Pshemo很好,我已经根据您的建议更新了答案。@xlm您没有在任何地方存储用户值。您可能想要而((unos=input.nextInt())!=rand)