永发信息网

这个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();
  • 5楼网友:罪歌
  • 2021-06-01 16:03

if(zhanghao == "admin" && mima == "password"){ //估计是这行错了

一般,我们在进行字符串比较的时候,用的是equals,而不是=

equals比较的是引用地址,

=比较的是值

两者有区别,而且结果不一样,=一般用于数字比较,而equals是用于字符串的比较

你把=改成euqals看看。

希望对你有帮助!

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯