这个java代码的错误到底在哪里?
答案:6 悬赏:60 手机版
解决时间 2021-06-01 18:35
- 提问者网友:眉目添风霜
- 2021-06-01 14:44
import java.util.Scanner;
public class P196_2 {
public static void main(String[] args){
String zhanghao;
System.out.println("\t书店管理销售系统");
System.out.println("*******************************");
System.out.println("\t1.登 录 系 统");
System.out.println("\t2.退 出");
System.out.println("*******************************");
//选择选项
System.out.println("请选择,输入数字:");
Scanner scanner = new Scanner(System.in);
int xuanze1 = scanner.nextInt();
if(xuanze1 == 1){
System.out.println("请输入账号:");
zhanghao = scanner.next();
System.out.println("请输入密码:");
mima = scanner.next();
if(zhanghao == "admin" && mima == "password"){
System.out.println("\t书店管理销售系统");
System.out.println("*******************************");
System.out.println("\t1.会 员 管 理");
System.out.println("\t2.购 物 结 算");
System.out.println("\t3.积 分 兑 换 礼 品");
System.out.println("\t4.注 销");
System.out.println("*******************************");
}
}
if(xuanze1 ==2){
System.out.println("谢谢您的使用!");
}
}
}
最佳答案
- 五星知识达人网友:夜风逐马
- 2021-06-01 15:56
补充:除了 没有定义 mima 外
还有 比对字符串,不能用==
要用 equals,用==是判断 对象所在内存中的地址,而不是值,不信你可以运行一下,及时输入 admin 和 password 也不可以通过验证
要这样 zhanghao.equals("admin")||mima.equals("password")
全部回答
- 1楼网友:躲不过心动
- 2021-06-01 19:09
这样就对了
import java.util.Scanner;
public class P196_2 {
public static void main(String[] args) {
String zhanghao;
System.out.println("\t书店管理销售系统");
System.out.println("*******************************");
System.out.println("\t1.登 录 系 统");
System.out.println("\t2.退 出");
System.out.println("*******************************");
// 选择选项
System.out.println("请选择,输入数字:");
Scanner scanner = new Scanner(System.in);
int xuanze1 = scanner.nextInt();
if (xuanze1 == 1) {
System.out.println("请输入账号:");
zhanghao = scanner.next();
System.out.println("请输入密码:");
String mima = scanner.next();
if ("admin".equals(zhanghao) && "password".equals(mima) ) {
System.out.println("\t书店管理销售系统");
System.out.println("*******************************");
System.out.println("\t1.会 员 管 理");
System.out.println("\t2.购 物 结 算");
System.out.println("\t3.积 分 兑 换 礼 品");
System.out.println("\t4.注 销");
System.out.println("*******************************");
}
}
if (xuanze1 == 2) {
System.out.println("谢谢您的使用!");
}
}
}
这是equals()和“==”的用法没区分好!
- 2楼网友:话散在刀尖上
- 2021-06-01 18:12
你的没定义mima这个变量就使用mima这个东西了
- 3楼网友:爱难随人意
- 2021-06-01 17:27
mima没声明为String..
还有
字符串的比较用方法equals();
if(zhanghao.equals("admin") && mima.equals("password")){
- 4楼网友:青灯有味
- 2021-06-01 16:47
String mima = scanner.next();
if(zhanghao == "admin" && mima == "password"){ //估计是这行错了
一般,我们在进行字符串比较的时候,用的是equals,而不是=
equals比较的是引用地址,
=比较的是值
两者有区别,而且结果不一样,=一般用于数字比较,而equals是用于字符串的比较
你把=改成euqals看看。
希望对你有帮助!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯