如何将String变量绑定到String变量?

-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"变量绑定到答案变量,并且不知道如何.请帮忙!

Jon*_*eet 5

你根本没有声明变量.你只是想分配给它.你可以添加

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整除.

你的代码只是以一种非常复杂的方式表达出来......