这是我的if语句...... 按钮显示如下:
这是我的if语句
if((buttons[3].getName()=="x" && buttons[6].getName()=="x" &&
buttons[9].getText()=="x")||(buttons[2].getName()=="x" &&
buttons[5].getName()=="x" && buttons[8].getName()=="x")||
((buttons[1].getName()=="x") && (buttons[4].getName()=="x") &&
(buttons[7].getName()=="x"))){
JOptionPane.showMessageDialog(null,"X Wins");
}
因此,如果我选择第1,第4和第7个按钮(最左边3个按钮),为什么不说“X Wins”? 作为旁注,是按钮应该具有名称“x”
答案 0 :(得分:3)
buttons[3].getName()=="x"
字符串比较应使用equals()
而不是==
应为buttons[3].getName().equals("x")
答案 1 :(得分:2)
Objects
比较java中的 - "equals"
。 "=="
用于比较原始值,还用于检查2个或更多对象引用变量是否指向heap
上的同一个对象。
- 因此,应使用String
并使用.equals()
来比较java中的.equalsIgnoreCase()
作为对象。
示例:强>
buttons[1].getName().equals("x");
答案 2 :(得分:1)
字符串之间的比较使用equals()。
button[1].getName().equals("x");
另外,你确保左边的3是1,4和7而不是0,3和6,对吧?
答案 3 :(得分:1)
重新检查你的if条件。它太长了。与AND和OR混合在一起。 它可能会产生意想不到的结果。
也可以使用equals()或equalsIgnoreCase()