【问题标题】:IF else statement functionIF else 语句函数
【发布时间】:2013-02-18 10:22:23
【问题描述】:

我有这个 if else 语句的代码

@Override
        public void onClick(View arg0) {
            int aInt = Integer.parseInt(textView1.getText().toString());
             if(aInt <= 0) {
                 Toast.makeText(getApplicationContext(), "Wrong",
                            Toast.LENGTH_SHORT).show();
                } else{

                 int a=Integer.parseInt(textView1.getText().toString());
                     int  b=a-2;
                  String s1 = String.valueOf(b);
                 textView1.setText(s1);
                 Toast.makeText(getApplicationContext(), "Wrong",
                            Toast.LENGTH_SHORT).show();
                int c =Integer.parseInt(textView5.getText().toString());
                        int d = c-1;
                        String s2 = String.valueOf(d);
                        textView5.setText(s2);

                }  if(textView5 != null) {
                    int dInt = Integer.parseInt(textView5.getText().toString());
                        if(dInt <= 0);
                     Toast.makeText(getApplicationContext(), "Game Over",
                                Toast.LENGTH_SHORT).show();
                            Intent intent = new Intent();
                        intent.setClass(MainActivity.this, Fifth.class);
                        startActivity(intent);

                    SavePreferences("MEM1", textView1.getText().toString());
                }
        }

};

如果 textView5 的值为 0,我想在这部分代码中启动意图 但即使 textView5 的值还不是 0,它仍然符合新的意图,我不知道我的代码的哪一部分是错误的:

}  if(textView5 != null) {
                int dInt = Integer.parseInt(textView5.getText().toString());
                    if(dInt <= 0);
                 Toast.makeText(getApplicationContext(), "Game Over",
                            Toast.LENGTH_SHORT).show();
                        Intent intent = new Intent();
                    intent.setClass(MainActivity.this, Fifth.class);
                    startActivity(intent);
 }

【问题讨论】:

  • 使用if(dInt &lt;= 0) 而不是if(dInt &lt;= 0);

标签: java if-statement syntax


【解决方案1】:
if(textView5 != null)
{
      int dInt = Integer.parseInt(textView5.getText().toString());
      if(dInt <= 0)
                {
                     Toast.makeText(getApplicationContext(), "Game Over",Toast.LENGTH_SHORT).show();
                    startActivity(new Intent(MainActivity.this, Fifth.class));
                }
     }

【讨论】:

  • 如果我的回答有帮助,您也可以点赞并接受我的回答,这将有助于其他用户解决与他们相同的问题。
  • 感谢@androidnoob :) 编码快乐!
【解决方案2】:

这样做:

}  if(textView5 != null) {
            int dInt = Integer.parseInt(textView5.getText().toString());
                if(dInt <= 0) {
             Toast.makeText(getApplicationContext(), "Game Over",
                        Toast.LENGTH_SHORT).show();
                    Intent intent = new Intent();
                intent.setClass(MainActivity.this, Fifth.class);
                startActivity(intent);
              }
}

【讨论】:

    【解决方案3】:

    语句(textView5 != null) 检查视图是否不为空。您需要添加编辑代码,如。

                       if(!textView5.getText().toString().equals("")) {
                int dInt = Integer.parseInt(textView5.getText().toString());
                    if(dInt <= 0);
                 Toast.makeText(getApplicationContext(), "Game Over",
                            Toast.LENGTH_SHORT).show();
                        Intent intent = new Intent();
                    intent.setClass(MainActivity.this, Fifth.class);
                    startActivity(intent);
                    }
    

    【讨论】:

      【解决方案4】:

      试试这个:像这样不带分号的 if 循环

        if(dInt <= 0){
               Toast.makeText(getApplicationContext(), "Game Over",
                          Toast.LENGTH_SHORT).show();
                      Intent intent = new Intent();
                  intent.setClass(MainActivity.this, Fifth.class);
                  startActivity(intent);
                  }
      

      【讨论】:

        【解决方案5】:

        ; 是字符串结尾。如果您在 If 条件结束时给出 ;,则正文不会执行..

        所以删除它并检查你的代码..

        if(dInt <= 0)
           Toast.makeText(getApplicationContext(), "Game Over",Toast.LENGTH_SHORT).show();
           Intent intent = new Intent();
           ......
        

        【讨论】: