计入if / else java

时间:2013-09-10 12:23:34

标签: java

嗨我试图计算if / else但它不会工作。 每当你试图找到数字32时,它应该算+1。这对我不起作用.. 所以...我希望它能够计算我所做的所有尝试以找到32号,所以它显示了我尝试了多少次。

任何人都可以帮助我吗?

String antwoord = null;
int getal = 32;
int count = 0;


if((Integer.parseInt(txt_input.getText().toString()) ) == getal)
{
    antwoord = "Goed! in: " + count + " keer";
}
else if((Integer.parseInt(txt_input.getText().toString()) ) <= getal)
{
    antwoord = "Hoger... ";
    count++;
} 
else if((Integer.parseInt(txt_input.getText().toString()) ) >= getal)
{
    antwoord = "Lager... ";
    count++;
}
count++;

lbl_hoger_lager.setText(antwoord);

5 个答案:

答案 0 :(得分:2)

您正在if(condition).

中混合逻辑

应该是

if(number is equal){
    // some operation
}
else if(number is greater){
   // some operation
}
else if(number is lesser than X ){
   // some operation
}

希望这有帮助。

答案 1 :(得分:1)

我想你想这样做:

        String antwoord = null;
        int getal = 32;
        int count = 0;

        if ((Integer.parseInt(txt_input.getText().toString())) == getal) {
            count++;
            antwoord = "Goed! in: " + count + " keer";

        } else if ((Integer.parseInt(txt_input.getText().toString())) < getal) {
            antwoord = "Hoger... ";
            // count++;
        }

        else if ((Integer.parseInt(txt_input.getText().toString())) > getal) {
            antwoord = "Lager... ";
            // count++;
        }

        lbl_hoger_lager.setText(antwoord);

答案 2 :(得分:1)

一些tipps:

  1. 您应该避免使用长串公共代码。例如,(Integer.parseInt(txt_input.getText().toString()) )出现三次。这是一个漫长而复杂的表达。如何只评估一次并将结果存储在局部变量中?

    int userInput = (Integer.parseInt(txt_input.getText().toString()) );
    

    .toString()可能也没有必要)

  2. 如果您想要永远数数,请计算在if之外。

  3. count是一个局部变量。每次执行代码时都会0。如果要保留先前尝试的值,则必须使用字段。

答案 3 :(得分:0)

我刚刚使用您的代码进行了测试,它看起来对我很好,显然有一些变化:

public class A

{     public static void main(String [] args)     {         String antwoord = null;         int getal = 32;         int count = 0;         字符串k =“32”;

    if((Integer.parseInt(k) ) == getal)
        {
            antwoord = "Goed! in: " + (count+1) + " keer";
        }
    else if((Integer.parseInt(k) ) <= getal)
        {
            antwoord = "Hoger... ";
            count++;
        }

    else if((Integer.parseInt(k) ) >= getal)
    {
            antwoord = "Lager... ";
            count++;
        }
       // count++;

        System.out.println(antwoord);
    //lbl_hoger_lager.setText(antwoord);
}

}

输出是:

Goed! in: 1 keer

答案 4 :(得分:0)

设置的方式,如果输入大于或小于32,则count将递增。

这应该适合你:

String antwoord = null;
int getal = 32;
int count = 0;


if((Integer.parseInt(txt_input.getText().toString()) ) == getal)
{
    antwoord = "Goed! in: " + count + " keer";        
}
else if((Integer.parseInt(txt_input.getText().toString()) ) < getal)
{
    antwoord = "Hoger... ";    
    count++;
} 
else if((Integer.parseInt(txt_input.getText().toString()) ) > getal)
{
    antwoord = "Lager... ";    
    count++;
}

lbl_hoger_lager.setText(antwoord);