当前位置: 代码迷 >> J2SE >> 新手下路,求高手帮助!高分!
  详细解决方案

新手下路,求高手帮助!高分!

热度:88   发布时间:2016-04-24 00:29:57.0
新手上路,求高手帮助!!高分!!!
import java.util.*;

public class Error {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入年龄:");
int nl = input.nextInt();
System.out.println("请输入性别:");
String boy = input.next();
if ((nl >= 7) || ((nl>=5) && boy == "男")) {
System.out.print("可以搬动桌子");
} else {
System.out.println("不能搬动桌子");
}
}
}

输入5和男,为什么输出的是不能搬动桌子??????

------解决方案--------------------
初学者常见问题,对象比较请别用 ==,这个就变成比较两个对象的内存地址了。
而 String 是对象,切记。

所以:
boy == "男" 
修改为:
"男".equals(boy)
------解决方案--------------------
String 类型的比较是否相等用equals方法("男".equals(boy))。用== 是比较两个对象的内存地址是否相同。这两个的地址不同所以没有执行System.out.print("可以搬动桌子");这句。(个人见解不对望改正)。
  相关解决方案