gpt4 book ai didi

java - 条件语句不起作用 Java

转载 作者:行者123 更新时间:2023-12-01 07:29:36 26 4
gpt4 key购买 nike

int number;
int randomNum1= (int)(Math.random() * 12 + 1);
int randomNum2= (int)(Math.random() * 12 + 1);
try{
number = Integer.parseInt(this.txtInput.getText());
}
catch (Exception e){
JOptionPane.showMessageDialog(this, "Please input a integer.", "Error",
JOptionPane.ERROR_MESSAGE);
return;
}
if (number > randomNum1 && number < randomNum2 || number > randomNum2 && number < randomNum1){
lblRand1.setText(Integer.toString(randomNum1));
lblRand2.setText(Integer.toString(randomNum2));
lblOutput.setText("YOU WIN.");
}else
lblRand1.setText(Integer.toString(randomNum1));
lblRand2.setText(Integer.toString(randomNum2));
lblOutput.setText("YOU LOSE.");

为什么我输入的是必胜的数字,却总是显示你输了?

最佳答案

您忘记了 {} for else,这就是为什么总是执行 Lose 语句。

  • 这就是为什么 else block 中唯一的语句是lblRand1.setText(Integer.toString(randomNum1));
  • 之后,程序将正常执行lblOutput.setText("YOU LOSE.");
  • 因此,即使您的 if 条件为 true 并且标签设置为 You WinlblOutput.setTest("You Lost") 作为正常程序执行的结果执行,因为它不在 else block 中

改变

else
lblRand1.setText(Integer.toString(randomNum1));
lblRand2.setText(Integer.toString(randomNum2));
lblOutput.setText("YOU LOSE.");

else{

lblRand1.setText(Integer.toString(randomNum1));
lblRand2.setText(Integer.toString(randomNum2));
lblOutput.setText("YOU LOSE.");
}

关于java - 条件语句不起作用 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19178465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com