应用程序在空时崩溃

刺客信条

我最近开始学习 android studio,我制作了一个应用程序,显示一个数字是三角形还是正方形。问题是当用户没有将任何内容放入文本字​​段时,我的应用程序就会崩溃!为什么会这样?我需要更改什么?

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    class Number {

        int number;

        public boolean isSquare() {

            double squareRoot = Math.sqrt(number);

            if (squareRoot == Math.floor(squareRoot)) {

                return true;

            } else {

                return false;

            }


        }

        public boolean isTriangular() {

            int x = 1;

            int y = 1;

            while (y < number) {

                x++;

                y = y + x;

            }

            if ( y == number ) {

                return true;

            } else {

                return false;

            }



        }


    }

    public void testNumber(View view) {

        String msg = "";

        EditText usersNumber = (EditText) findViewById(R.id.usersNumber);

        Number myNumber = new Number();

        myNumber.number = Integer.parseInt(usersNumber.getText().toString());


        if (usersNumber.getText().toString().isEmpty()) {


            msg = myNumber.number + "Please eneter a Number!";

        } else {


            if (myNumber.isSquare()) {

                if (myNumber.isTriangular()) {

                    msg = myNumber.number + "is both square and triangular!";
                } else {

                    msg = myNumber.number + "is square but not traingular";


                }


            } else {


                if (myNumber.isTriangular()) {

                    msg = myNumber.number + "is triangular but not suqare !";
                } else {

                    msg = myNumber.number + "is neither";
                }


            }




        }

        Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_LONG).show();

    }


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}
延斯

如果用户没有在您的 edittext 文件中输入数字,则usersNumber.getText().toString()返回无法作为数字配对的空白。

这就是为什么你在这个语句中得到一个异常: Integer.parseInt(usersNumber.getText().toString());

请参阅此处了解更多详情。要阻止您的应用程序崩溃,您可以try { ... } catch {...}在代码周围使用一个块:

try {
 myNumber.number = Integer.parseInt(usersNumber.getText().toString());


        if (usersNumber.getText().toString().isEmpty()) {


            msg = myNumber.number + "Please eneter a Number!";

        } else {


            if (myNumber.isSquare()) {

                if (myNumber.isTriangular()) {

                    msg = myNumber.number + "is both square and triangular!";
                } else {

                    msg = myNumber.number + "is square but not traingular";


                }


            } else {


                if (myNumber.isTriangular()) {

                    msg = myNumber.number + "is triangular but not suqare !";
                } else {

                    msg = myNumber.number + "is neither";
                }


            }




        }
}catch (NumberFormatException ne){
  //handle the exception
}

或者在将其解析为整数之前简单地检查 null:

 if (!usersNumber.getText().toString().equals("")){
 myNumber.number = Integer.parseInt(usersNumber.getText().toString());
} else {
  myNumber.number = 0;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当EditText为空时,Android应用程序崩溃

来自分类Dev

PFFile太大时,应用程序崩溃

来自分类Dev

播放视频时应用程序崩溃

来自分类Dev

Android应用程序在启动时因空指针异常而崩溃

来自分类Dev

当我使用OnClicklistener作为按钮时,即使它为空,我的应用程序也会崩溃

来自分类Dev

暂停时Android应用程序崩溃

来自分类Dev

更新时列出崩溃应用程序

来自分类Dev

应用程序在启动时崩溃

来自分类Dev

当我在活动上放置按钮时,Android应用程序崩溃,空活动正常运行

来自分类Dev

单击按钮时应用程序崩溃

来自分类Dev

JavaFx应用程序在退出时崩溃

来自分类Dev

使用SherlockFragmentActivity时应用程序崩溃

来自分类Dev

应用程序在视图添加时崩溃

来自分类Dev

使用startActivityForResult时应用程序崩溃

来自分类Dev

C ++应用程序在删除时崩溃

来自分类Dev

滑动时应用程序崩溃

来自分类Dev

PFFile太大时,应用程序崩溃

来自分类Dev

添加ImageView时崩溃的应用程序

来自分类Dev

Android应用程序在启动时因空指针异常而崩溃

来自分类Dev

调用BroadcastReceiver时,应用程序崩溃

来自分类Dev

暂停时Android应用程序崩溃

来自分类Dev

单击应用程序图标时,应用程序崩溃

来自分类Dev

按下按钮且EditText为空时,我的应用程序不断崩溃

来自分类Dev

字符串为空时如何停止应用程序崩溃

来自分类Dev

Checkbuttons 在选中时使应用程序崩溃

来自分类Dev

应用程序在 getWritableDatabase 时崩溃:NullPointerException

来自分类Dev

onclick 时应用程序崩溃

来自分类Dev

使用 Intent 时应用程序崩溃

来自分类Dev

传递 Intent 时应用程序崩溃

Related 相关文章

热门标签

归档