Java如果循环没有执行:扫描程序

时间:2013-06-09 17:36:37

标签: java loops if-statement java.util.scanner

我的第二个扫描仪输入会根据需要存储,但仍然会执行比较correctString == stringValue的if条件。 你能帮忙吗?

{

static String stringValue = "A";
public static void main(String[] args) {
    int time;
    time = speedType();
    //System.out.println(time);
}
private static int speedType() {
    System.out.println("Let's play a game\nHow fast can you type \"I type very quickly\" \nPress Enter then type the statement and then press Enter again");
    Scanner scanner = new Scanner (System.in);
    String string = scanner.nextLine();
    if(string.equals("")){
        Date startTime = new Date();
        System.out.println("Start:\n");
        String correctString = scanner.nextLine();
        System.out.println(correctString);
        if (correctString == stringValue){
            Date endTime = new Date();
            System.out.println(endTime);
        }
        else
            System.out.println("Please enter correct string");
    }
    return 0;       



}}

1 个答案:

答案 0 :(得分:1)

关于,

if (correctString == stringValue){

不要使用==比较字符串。请改用equals(...)equalsIgnoreCase(...)方法。了解==检查两个对象是否相同,而不是您现在感兴趣的对象。另一方面,这些方法检查两个字符串是否具有相同顺序的相同字符,这就是重要的。而不是

if (fu == "bar") {
  // do something
}

做,

if ("bar".equals(fu)) {
  // do something
}

,或者

if ("bar".equalsIgnoreCase(fu)) {
  // do something
}