【发布时间】:2017-03-03 00:06:44
【问题描述】:
因此,对于我的 java 程序,我需要编写一个带有 if else 语句的 while 循环,该语句允许人们输入季节的猜测,该猜测是通过将季节分配给从 1 到 4 生成的数字而随机生成的. 当我编译时我没有得到任何错误,但是当我执行程序时,我得到的所有猜测都是零。在数字生成中我缺少什么吗?还是在字符串比较中?
编辑:代码现在按预期工作。我明白我做错了什么。感谢那些帮助过的人。
这里是代码和需要的变量:
public class SeasonsGenerator {
public static void main(String[] args){
//Variables for seasons counter
int summerSeasonCounter=0;
int fallSeasonCounter=0;
int springSeasonCounter=0;
int winterSeasonCounter=0;
int number;
int limit = 5;
Scanner keyboard = new Scanner(System.in);
int count = 0; // Counter for total number of iterations or loops
String season = "";//Variable for season
final int NUMBER = 15; // Number of while loop iterations
String userGuess;//save user guess here
// A random number generator
Random generator = new Random();
while(count < NUMBER)
{
number = generator.nextInt(limit);
if(number == 1)
{
season = "summer";
}
else if(number == 2)
{
season = "spring";
}
else if(number == 3)
{
season = "fall";
}
else if(number == 4)
{
season = "winter";
}
System.out.print("Guess the season generated by the random number generator:");
userGuess = keyboard.nextLine();
userGuess.equalsIgnoreCase(season);
if(season == "summer")
{
summerSeasonCounter +=1;
}
else if(season == "spring")
{
springSeasonCounter += 1;
}
else if(season == "fall")
{
fallSeasonCounter += 1;
}
else if(season == "winter")
{
winterSeasonCounter += 1;
}
// Display the results
System.out.println ("You guessed Summer season correctly "+summerSeasonCounter+" number of times.");
System.out.println ("You guessed Fall season correctly "+fallSeasonCounter+" number of times.");
System.out.println ("You guessed Spring season correctly "+springSeasonCounter+" number of times.");
System.out.println ("You guessed Winter season correctly "+winterSeasonCounter+" number of times.");
}
}
【问题讨论】:
-
stackoverflow.com/questions/363681/… 这将向您展示如何在一个范围内创建一个随机数
-
欢迎来到 Stack Overflow!看来您需要学习使用调试器。请帮助自己一些complementary debugging techniques。如果之后仍有问题,请随时回来提供更多详细信息。
标签: java if-statement random string-comparison