否则如果条件被忽略?

时间:2014-10-19 13:16:26

标签: java string if-statement

我是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();

    }


} 

1 个答案:

答案 0 :(得分:5)

从你的其他地方删除分号。