我正在尝试创建一个程序,该程序从用户获取字符串并根据“密码”变量进行检查。如果密码相同,则打印“有效”,否则打印“无效”
这是我到目前为止所看到的,它看起来对我来说是正确的,但显然不是。
import java.util.*;
class WS6Q5 {
public static void main (String[] args){
Scanner in=new Scanner(System.in);
String s =" ";
int x = 123;
System.out.println("Please type in the Password");
s=in.nextLine();
if (s.length()==x){
System.out.println("Access Granted");
}
else if (s.length()!=x){
System.out.println("Invalid");
}
}
答案 0 :(得分:0)
正如人们所料,s.length()
为您提供字符串s
的字符长度。您的变量x
设置为整数(不是字符串!)值123
。所以你的if语句是看x是123个字符长。可能不是你想要的!
您可能希望x成为字符串。 String x = "123"
。
您想要将x的值与s的值进行比较。查看String.equals()
(http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#equals(java.lang.Object))