我是Java的新手,我必须制作一个小应用程序,它可以计算最多5个数字的GCD。 如果输入的是什么已经进入5号之前,该应用程序会计算它已经给定数字否则条件被忽略?
不幸的是我的代码似乎忽略我的else if
声明,将确保它不会尝试添加“”到一个int数组。
这是我正在努力的部分,我已经试过包含而不是等于,但没有结果。 我在写!input..
错了吗?代码运行正确,当我尝试添加0时,它不会执行else if。 但是,如果我输入“”使应用程序运行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();
}
}
这也是不正确的 Integer.parseInt(input)!= 0 || !input.equals( “”); 你认为如果用户输入是空的,那么它的input.equals(“”)变成true.but在那之前你会得到错误“”不能转换为int。 – 2014-10-19 13:26:59
好点!谢谢 – Vahx 2014-10-19 13:30:17