源代码:import java.util.Scanner; //导入对象
//实现功能:回答问题,并输入,判断是否回答正确。
public class XuanZeTi {
public static void main(String[] args) {
String myProvince = "四川省";
System.out.println("我是哪个省份的?");
Scanner input = new Scanner(System.in);//创建Scanner对象
while (true) {
String province = input.nextLine();
if (province ==myProvince ) {
System.out.println("回答正确!");
break;
}
else
System.out.println("你的回答是:"+province+"。回答错误,请重新回答");
}
}
}即使输入正确的“四川省”,程序也会输出else的结果,并不会进入if里面去,这是为什么啊?
2 回答
Higanbana_
TA贡献2条经验 获得超1个赞
补充一下楼上 java基础数据类型 == 比较的是值 而其他的比较的是内存地址 String类不是基础类型 所以比较是的内存地址 所以返回的是false
添加回答
举报
0/150
提交
取消