尝试使用 .equals 为变量赋值时出现错误消息
Error message when trying to use .equals to give a value to a variable
我想把温度、湿度、日照的值相加,但不知道为什么说"sunshine"变量没有声明。我希望它能工作,这样当用户输入 "yes" 时,阳光就会设置为 25,如果他们输入 no,它就会设置为 -25。谢谢!
int temperature;
double humidity;
int sunshine;
String temp;
double rating;
temp = JOptionPane.showInputDialog(null, "What temperature is it outside?");
temperature = Integer.parseInt(temp);
temp = JOptionPane.showInputDialog(null, "What percentage of humidity is there?");
humidity = Double.parseDouble(temp);
temp = JOptionPane.showInputDialog(null, "Is it cloudy out?");
if (temp.equals("yes"))
sunshine = 25;
if (temp.equals("no"))
sunshine = -25;
rating = temperature + humidity + sunshine;
您没有告诉用户在阳光问题中输入 "yes" 或 "no",并且您没有检查以确保用户输入了任一值。如果我既不键入 "yes" 也不键入 "no",那么在向它分配任何值之前使用 sunshine 变量。
您可以通过
消除症状
int sunshine = 0;
但这并不能解决问题。
你应该:
1) 指示用户键入 "yes" 或 "no".
2) 检查用户输入的是 "yes" 还是 "no" 并提出问题,直到输入正确的值
3) 为了更好的形式,使用 if/else 语句。
这是一个新的代码片段:
temp = JOptionPane.showInputDialog(null, "What temperature is it outside?");
temperature = Integer.parseInt(temp);
temp = JOptionPane.showInputDialog(null, "What percentage of humidity is there?");
humidity = Double.parseDouble(temp);
temp = "";
while (!temp.equals("yes") && !temp.equals("no")) {
temp = JOptionPane.showInputDialog(null, "Is it cloudy out? Type 'yes' or 'no' ");
}
if (temp.equals("yes"))
sunshine = 25;
else
sunshine = -25;
rating = temperature + humidity + sunshine;
我想把温度、湿度、日照的值相加,但不知道为什么说"sunshine"变量没有声明。我希望它能工作,这样当用户输入 "yes" 时,阳光就会设置为 25,如果他们输入 no,它就会设置为 -25。谢谢!
int temperature;
double humidity;
int sunshine;
String temp;
double rating;
temp = JOptionPane.showInputDialog(null, "What temperature is it outside?");
temperature = Integer.parseInt(temp);
temp = JOptionPane.showInputDialog(null, "What percentage of humidity is there?");
humidity = Double.parseDouble(temp);
temp = JOptionPane.showInputDialog(null, "Is it cloudy out?");
if (temp.equals("yes"))
sunshine = 25;
if (temp.equals("no"))
sunshine = -25;
rating = temperature + humidity + sunshine;
您没有告诉用户在阳光问题中输入 "yes" 或 "no",并且您没有检查以确保用户输入了任一值。如果我既不键入 "yes" 也不键入 "no",那么在向它分配任何值之前使用 sunshine 变量。
您可以通过
消除症状int sunshine = 0;
但这并不能解决问题。
你应该:
1) 指示用户键入 "yes" 或 "no".
2) 检查用户输入的是 "yes" 还是 "no" 并提出问题,直到输入正确的值
3) 为了更好的形式,使用 if/else 语句。
这是一个新的代码片段:
temp = JOptionPane.showInputDialog(null, "What temperature is it outside?");
temperature = Integer.parseInt(temp);
temp = JOptionPane.showInputDialog(null, "What percentage of humidity is there?");
humidity = Double.parseDouble(temp);
temp = "";
while (!temp.equals("yes") && !temp.equals("no")) {
temp = JOptionPane.showInputDialog(null, "Is it cloudy out? Type 'yes' or 'no' ");
}
if (temp.equals("yes"))
sunshine = 25;
else
sunshine = -25;
rating = temperature + humidity + sunshine;