JAVA while循环条件为false无法跳出

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图

package lianxi4yue;

import java.util.Scanner;

public class login {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println("***************************");
    System.out.println("*         用户登录             *");
    System.out.println("***************************");
    Scanner s =new Scanner(System.in);
    System.out.println("用户名:");
    String user =s.next();
    
    System.out.println("密码:");
    int passwd =s.nextInt();

    while(user!="admin" && passwd!=12345678) {
            System.out.println("用户名和密码不匹配,请重新输入!");
            System.out.println("用户名:");
            s.next();
            System.out.println("密码:");
            s.nextInt();

}
System.out.println("登录成功");
}

}

运行结果及报错内容

  •     用户登录             *
    

用户名:
3
密码:
3
用户名和密码不匹配,请重新输入!
用户名:
admin
密码:
12345678
用户名和密码不匹配,请重新输入!
用户名:

我的解答思路和尝试过的方法
我想要达到的结果

第二次输入账户密码相等为false,还是跳不出循环。

没有重新给 user和passwd赋值

img

给你改了一下,麻烦采纳一下。谢谢


 public static void main(String[] args) throws InterruptedException {
        System.out.println("***************************");
        System.out.println("*         用户登录             *");
        System.out.println("***************************");
        Scanner s =new Scanner(System.in);
        System.out.println("用户名:");
        String user =s.nextLine();

        System.out.println("密码:");
        String passwd =s.nextLine();

        while(!"admin".equals(user) &&!"12345678".equals(passwd)) {
            System.out.println("用户名和密码不匹配,请重新输入!");
            System.out.println("用户名:");
            s.nextLine();
            System.out.println("密码:");
            s.nextLine();
        }
        System.out.println("登录成功");
    }

img