我是Java新手,我必须制作一个小型应用程序来计算最多5个数字的GCD。 如果在输入5个数字之前输入为空,则应用程序将根据已经给定的数字计算它
不幸的是,我的代码似乎忽略了我的else if
语句,该语句将确保它不会尝试将“”添加到int数组中。
这是我正在努力的部分,我已经尝试过包含而不是等于但没有结果。
我在写!input..
错了吗?当我尝试添加0时,代码运行正确,如果是,则不会执行else。
但是如果我输入“”以使应用程序运行if语句的第一部分,它将在其完成之后转到else并尝试向数组添加“”,这当然会导致错误。
我确信它有点小我不知道或者我不知道,但我似乎无法弄明白。
}else if(Integer.parseInt(input) != 0 || !input.equals(""));{
ggdGetallen[count] = Integer.parseInt(input);
count++;
txtGetal.selectAll();
}
完整代码
private void txtGetalActionPerformed(java.awt.event.ActionEvent evt) {
String input = txtGetal.getText();
//Berekenen van het kleinste getal in het array
if(count > 4 || input.equals("")){
int kleinsteGetal = ggdGetallen[0];
for (int getal : ggdGetallen){
if (getal < kleinsteGetal && getal != 0){
kleinsteGetal = getal;
}
}
boolean isDividableBy;
boolean ggdFound = false;
while(!ggdFound){
for (int getal : ggdGetallen) {
if (getal != 0){
isDividableBy = (getal % kleinsteGetal == 0);
ggdFound = true;
if(!isDividableBy){
kleinsteGetal--;
ggdFound = false;
break;
}
}
}
}
lblResultaat.setText(String.format("De grootste gemene deler is %d", kleinsteGetal));
}else if(Integer.parseInt(input) != 0 || !input.equals(""));{
ggdGetallen[count] = Integer.parseInt(input);
count++;
txtGetal.selectAll();
}
}
答案 0 :(得分:5)
从你的其他地方删除分号。