0

我有个问题。如果我直接将一个单词分配给一个字符串(通过执行 s="pass"),代码会按照我想要的方式工作。但是,如果我尝试分配它使用扫描仪,它似乎只是跳过了 if 语句。我显然是java新手,有人可以帮助我吗?

import java.util.Scanner;

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

    String s;
    s=scan.next();

    if(s=="pass"){
        System.out.println("CORRECT");
    }
    else{
        System.out.println("INCORRECT");
    }
  }
}

我已正确导入扫描仪。

4

3 回答 3

2

替换(s=="pass")s.equals("pass") 如何比较 Java 中的字符串

于 2013-05-12T01:07:01.553 回答
1

这里==将比较参考而不是内容。

比较你需要使用的内容

.equals()    //If case is important

.equalsIgnorecase()  //If case is not important

但是正如您的问题所说的分配字符串的方法是您可以使用=运算符

于 2013-05-12T01:11:09.743 回答
0

String.equals()方法比较字符串的内容,而==运算符检查对象是否相等。

改变

if(s=="pass"){
        System.out.println("CORRECT");
    }

if(s.equals("pass")){
        System.out.println("CORRECT");
    }

更多信息:http ://www.java-samples.com/showtutorial.php?tutorialid=221

于 2013-05-12T01:14:09.970 回答