String 从用户处获取字符串并将其与“;密码";变量

String 从用户处获取字符串并将其与“;密码";变量,string,passwords,String,Passwords,我试图创建一个程序,从用户那里获取一个字符串,并根据“password”变量进行检查。如果密码相等,则打印“有效”,否则打印“无效” 这是我到目前为止所拥有的,在我看来是正确的,但显然不是 import java.util.*; class WS6Q5 { public static void main (String[] args){ Scanner in=new Scanner(System.in); String s =" "; int x = 123;

我试图创建一个程序,从用户那里获取一个字符串,并根据“password”变量进行检查。如果密码相等,则打印“有效”,否则打印“无效”

这是我到目前为止所拥有的,在我看来是正确的,但显然不是

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");
    }
}

正如人们所料,
s.length()
提供字符串
s
的长度(以字符为单位)。变量
x
设置为整数(不是字符串!)值
123
。因此,if语句将查看x是否为123个字符长。可能不是你想要的

  • 您可能希望x是一个字符串<代码>字符串x=“123”

  • 您想将x的值与s的值进行比较。查看
    String.equals()
    ()


  • 为什么要使用
    length()
    而不是
    equals()
    ?他需要长度为123的密码谢谢你的评论,我一直在尝试编辑它,但它仍然不起作用,我应该把它放在一个对象的确切位置?是不是s.length?但是谢谢你解释关于s.length的部分,我现在知道它计算字符的长度了!编辑:我想出来了,谢谢D以下是代码:
    import java.util.*;类WS6Q5{public static void main(String[]args){Scanner in=new Scanner(System.in);String randomtext=“HelloWorld”;System.out.println(“请键入密码”);randomtext=in.nextLine();if(randomtext.equals(“HelloWorld”){System.out.println(“授予访问权”);else{System.out.println(“无效”);}}}