You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java入门登录程序功能异常求助:始终输出错误提示

Java登录程序总是输出错误?看这里解决!

嘿,我太懂你这种入门时踩坑的感觉了!你遇到的这个问题,十有八九是字符串比较的方式用错了,这可是Java新手最容易掉的坑之一😅

核心问题:用==比较字符串内容

在Java里,==对于String这种引用类型来说,比较的是两个对象在内存中的引用地址,而不是字符串的实际内容。哪怕你输入的用户名和密码看起来和目标完全一样,它们也可能是内存里的不同对象,所以==会返回false,导致程序不管输入对错都输出"Wrong Combination"。

正确的解决办法:用equals()比较内容

要判断两个字符串的内容是否相同,必须用String类的equals()方法。另外,把常量字符串(比如"admin")放在equals()的前面,还能避免如果输入为空时出现的空指针异常,这是个很好的编程习惯。

给你一个可以正常运行的完整示例代码:

import java.util.Scanner;

public class LoginProgram {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("Enter username: ");
        String username = scanner.nextLine();
        
        System.out.print("Enter password: ");
        String password = scanner.nextLine();
        
        // 关键:用equals()比较字符串内容,常量在前更安全
        if ("admin".equals(username) && "securePassword".equals(password)) {
            System.out.println("Welcome");
        } else {
            System.out.println("Wrong Combination");
        }
        
        scanner.close();
    }
}

其他可能的小坑

如果你的代码里用了scanner.next()而不是scanner.nextLine(),要注意next()会在遇到空格时停止读取内容,但题目里的用户名和密码都是无空格的,所以这个问题影响不大,但nextLine()能读取用户输入的整行内容,更通用。

现在编译运行这个代码试试,输入正确的用户名和密码就能看到"Welcome"啦!

内容的提问来源于stack exchange,提问作者Xzavier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:14:46