所以,我在使用数字进行猜谜游戏时遇到了麻烦。我生成了一个随机数,但当我将我的方法调用到我的主程序中告诉我,如果我的猜测太大或太小,它似乎无法读取随机数。
即。 生成的随机数是12
Guess 3.
"Sorry, too big."
Guess 0
"Sorry, too small."
任何帮助都将不胜感激。
这是一个片段:
public static void main(String[] args) {
Random rand = new Random();
int rnum = rand.nextInt(49);
System.out.print(rnum);
for(int result = 0; result < 5; result++) {
myMethod(result);
}
}
public static void myMethod (int rnum) {
Scanner input = new Scanner (System.in);
System.out.println(" Guess a number between 0 and 49");
int guess;
guess = input.nextInt();
if (guess > rnum) {
System.out.print("Too big, sorry. Try again.");
} else if (guess < rnum) {
System.out.print("Too small, sorry. Try again.");
} else if (guess == rnum) {
System.out.print("You Win!");
}
}
答案 0 :(得分:3)
您正在main方法中将结果传递给myMethod。我怀疑你想把rnum传递给那个方法,因为那是你的psudeo随机数。
答案 1 :(得分:3)
在您的代码中:
for(int result=0;result<5;result++){
myMethod(result);
}
这里您将结果发送到myMethod而不是rnum。
Random rand = new Random();
int rnum = rand.nextInt(49);
当调用myMethod时,它会根据你的代码发送0,1,2,3,4。
发送
for(int result=0;result<5;result++){
myMethod(rnum);
}
而不是
for(int result=0;result<5;result++){
myMethod(result);
}
答案 2 :(得分:0)
试试这个
import java.util.Scanner; import java.util.Random;
public class testt {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Guess a number: ");
int Guessed = sc.nextInt();
int Rnumber;
Random num = new Random();
for (int i=1; i <= 25; i++)
{
Rnumber = num.nextInt(12); // Numbers will be around 12
}
if (Guessed >= 3) {
System.out.println("Sorry, too big");
}
else
if (Guessed <= 0){
System.out.println("Sorry, too small");
}
else
System.out.println("You win");
}
}