input.equals(“string here”)不起作用

时间:2015-07-08 11:46:42

标签: java string timezone

我是Java新手。我正在尝试制作用户输入国家/地区的程序,并返回该国家/地区的当前时间。我有这段代码:

public static void main(String[] args) {
    Scanner userInput = new Scanner(System.in);

    System.out.println("Enter a country: ");
    String userCountryInput = userInput.nextLine();

    if (userInput.equals("Philippines")) {
        Date date1 = new Date();
        System.out.println(date1);
    }

    if (userInput.equals("Russia")) {
        TimeZone.setDefault(TimeZone.getTimeZone("UTC + 05:30"));

        Date date2 = new Date();
        System.out.println(date2);
    }
}

当我进入“俄罗斯”或“菲律宾”时,它不会输出任何内容。知道为什么吗?

3 个答案:

答案 0 :(得分:3)

String inumber = ((org.apache.hadoop.hive.serde2.lazy.LazyString) listOi.getListElement(args[1].get(), i)).getObject().toString(); 是输入变量。 userCountryInput是用于获取输入的Scanner变量

userInput

答案 1 :(得分:0)

您在userInput上使用的是等号,而不是字符串。它将适用于字符串userCountryInput

 public static void main(String[] args) {
    Scanner userInput = new Scanner(System.in);

    System.out.println("Enter a country: ");
    String userCountryInput = userInput.nextLine();

    if (userCountryInput .equals("Philippines")){

        Date date1 = new Date();
        System.out.println(date1);
    }

    if (userCountryInput .equals("Russia")){
        TimeZone.setDefault(TimeZone.getTimeZone("UTC + 05:30"));

        Date date2 = new Date();
        System.out.println(date2);
    }
}

答案 2 :(得分:0)

正如其他人所说,您将userInputuserCountryInput混为一谈。

您应该为变量使用更好的名称,以便将来不要再混淆它们。例如,将userCountryInput重命名为userCountry可能是值得的。