各位好,有个问题请教一下。代码:
public class hello{
public static void main(String[] args) {
Scanner input1=new Scanner(System.in);
label1:
while(true){
System.out.println("请选择查询方法:a.图书信息 b.图书序号");
String choose=input1.next();
if(choose == "a" ){
System.out.println("选择了a方法");
break label1 ;
}else if(choose == "b"){
System.out.println("选择了b方法");
break label1;
}else{
System.out.println("输入指令错误,请重新选择");
continue label1;
}
}
}
}
可是运行结果是这样的。。:
请选择查询方法:a.图书信息 c.图书序号
a
输入指令错误,请重新选择
请选择查询方法:a.图书信息 c.图书序号
我在if,else if和else中都设置了断点,debug的时候按F5或F6,程序都会自动跳到下一个条件判断中。为什么会这样呢????
感谢回答!
![](https://profile-avatar.csdnimg.cn/bbcb83b08dfd4fad97b073aeb3e823d4_baidu_30803597.jpg!4)
新手求教。java next()
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- wpliang 2015-08-24 02:33关注
字符串比较 不要用等号啊 用equal方法试试
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 网络科学导论,网络控制
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
- ¥50 如何openEuler 22.03上安装配置drbd
- ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
- ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)