这里是第一个问题,所以请不要无礼......
反正我最近发现了if/else if的一个问题。显示下面写下的代码。问题是我的 else if parentesis 只工作一次。当我写了一个与寄存器中的单词匹配的单词时,else if 将不再起作用。是代码中有任何错误还是 netbeans 烦扰了我?将不胜感激我能得到的任何帮助。 希望你能理解语法,即使它是用瑞典语写的......
private void årsök_txfActionPerformed(java.awt.event.ActionEvent evt) {
try {
int söktår = Integer.valueOf(årsök_txf.getText());
info_txa.setText("");
for (Register register1 : register) {
int finns = register1.getAr();
if (finns==söktår) {
info_txa.append(register1 + "");
hittad = true;
} else if (hittad==false) {
info_txa.setText("Tyvärr så utgavs det inga filmer "+söktår);
}
}
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null, "Vänligen mata in ett tal som sökt utgivningsår!");
}
}
最佳答案
问题不是很清楚。但这绝对是一个编码错误,与 Netbeans 无关。这是我的理解,请确认是否是您的意思:
一旦 Register 包含匹配 söktår
的单词,之后 else-if
block 就不会被执行。
else if
没有被执行的原因是它只有在 hittad
为 false 时才会执行,一旦找到匹配,就设置 hittad
为真,因此它永远不会在那之后进入 else-if
block 。
关于java - 我的 if-else 语句只工作一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43986996/