您好我正在尝试编写一个测试运算符的代码,需要一些帮助来声明变量。 因此,在我的if语句下的代码中,我声明某个答案是真或假,这取决于输入的数字是什么,并且我一直卡在"找不到符号"错误。这是我的代码
import java.util.Scanner;
public class TestOperators
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
//prompt the user to enter an integer
System.out.print("Enter an integer: ");
int num = input.nextInt();
String t = new String("True");
String f = new String("False");
//calculate
if ((num % 5 == 0) && (num % 6 == 0))
answer = t;
else if ((num % 5 == 0) && (num % 6 != 0) || (num % 5 != 0) && (num % 6 == 0))
answer = t;
else if ((num % 5 == 0) || (num % 6 == 0))
answer = t;
else
answer = f;
//print results
System.out.println("Is " + num + " divisible by 5 and 6? " + answer);
System.out.println("Is " + num + " divisible by 5 or 6?" + answer);
System.out.print("Is " + num + " divisible by 5 or 6, but not both?" + answer);
}
}
该程序告诉我,我无法声明变量"回答"在那个地方。我试图把字符串" f"和" t"变量到答案变量,不知道如何。请帮忙!
答案 0 :(得分:5)
你根本没有声明变量。您只是想分配。你可以添加
String answer;
到开始尝试分配给它之前的代码。
此外,您几乎不想打电话给new String(String)
,您可以显着简化代码。您最好确定结果(例如,仅使用||
),然后将结果转换为字符串:
boolean result = ((num % 5 == 0) && (num % 6 == 0)) ||
((num % 5 == 0) && (num % 6 != 0) || (num % 5 != 0) && (num % 6 == 0)) ||
((num % 5 == 0) || (num % 6 == 0));
String answer = result ? "True" : "False";
看着这个,你想要实际的结果似乎就像这样简单:
String answer = (num % 5 == 0 || num % 6 == 0) ? "True" : "False";
唯一可以在原始代码和最终代码中作为答案获得“假”的方法是,如果数字不能被5或6整除。
你的代码只是以一种非常复杂的方式表达......
答案 1 :(得分:2)
您从未声明answer
。尝试在方法的开头添加此行:
String answer;