我是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