简单的方法来使用扫描仪将字串分配给字符串?
问题描述:
我有一个问题。如果我直接给一个字符串分配一个字(通过执行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");
}
}
}
我已经正确导入了扫描仪。
答
的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
答
这里==
更换(s=="pass")
不会对内容比较引用。
比较,你需要使用
.equals() //If case is important
.equalsIgnorecase() //If case is not important
但你的问题的内容说的方式分配字符串是可以使用=
操作