1

我的第二个扫描仪输入按需要存储,但仍然没有执行比较 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;       



}}
4

1 回答 1

1

关于,

if (correctString == stringValue){

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

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

做,

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

或者,

if ("bar".equalsIgnoreCase(fu)) {
  // do something
}
于 2013-06-09T17:37:32.310 回答