-3 java string variables if-statement java.util.scanner
您好,我试图编写一个测试运算符的代码,需要一些帮助来声明变量.因此,在我的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);
}
}
Run Code Online (Sandbox Code Playgroud)
该程序告诉我,我无法在该位置声明变量"answer".我试图将字符串"f"和"t"变量绑定到答案变量,并且不知道如何.请帮忙!
你根本没有声明变量.你只是想分配给它.你可以添加
String answer;
Run Code Online (Sandbox Code Playgroud)
在开始尝试分配给它之前的代码.
此外,您几乎不想打电话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";
Run Code Online (Sandbox Code Playgroud)
看着这个,你想要的结果实际上似乎很简单:
String answer = (num % 5 == 0 || num % 6 == 0) ? "True" : "False";
Run Code Online (Sandbox Code Playgroud)
你可以在原始代码和我的最终代码中得到"假"作为答案的唯一方法是,如果数字不能被5或6整除.
你的代码只是以一种非常复杂的方式表达出来......