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

时间:2014-09-12 01:10:15

标签: 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);

   }
}

该程序告诉我,我无法声明变量"回答"在那个地方。我试图把字符串" f"和" t"变量到答案变量,不知道如何。请帮忙!

2 个答案:

答案 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;