Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是什么导致我的应用程序在此程序中崩溃安卓工作室_Java_Android_Android Studio - Fatal编程技术网

Java 是什么导致我的应用程序在此程序中崩溃安卓工作室

Java 是什么导致我的应用程序在此程序中崩溃安卓工作室,java,android,android-studio,Java,Android,Android Studio,我写了一个程序,其中随机数被生成并显示在屏幕上,显示它们被加在一起。然后,用户必须输入两个或多个数字的总和才能得分。下面的代码清楚地说明了这一点。我的问题是,当按下启动游戏的按钮时,我的应用程序崩溃/我以前没有遇到过这个问题,尽管当时程序还没有完全完成,所以我不得不进一步开发它。在这个开发过程中,我遇到了应用程序崩溃的问题。我相信这与loadG2a和loadG2b随机int变量有关,可能与它们作为(numbers.getText())集成到parseInt中有关,也可能与它们一起设置在“numb

我写了一个程序,其中随机数被生成并显示在屏幕上,显示它们被加在一起。然后,用户必须输入两个或多个数字的总和才能得分。下面的代码清楚地说明了这一点。我的问题是,当按下启动游戏的按钮时,我的应用程序崩溃/我以前没有遇到过这个问题,尽管当时程序还没有完全完成,所以我不得不进一步开发它。在这个开发过程中,我遇到了应用程序崩溃的问题。我相信这与loadG2a和loadG2b随机int变量有关,可能与它们作为(numbers.getText())集成到parseInt中有关,也可能与它们一起设置在“numbers”文本视图中有关。可能根本不是这些。无论哪种方式,我都试图解决此解决方案,但未能找到解决方案。代码如下:

final Button loseStarter2;

        loseStarter2 = (Button) findViewById(R.id.Starter2);
        loseStarter2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                loseStarter2.setVisibility(View.GONE);
                infoG2.setVisibility(View.GONE);

                final Random generateG2 = new Random();
                final int loadG2a = generateG2.nextInt(89)+10;
                final int loadG2b = generateG2.nextInt(89)+10;
                final int loadG2c = 0;
                final int loadG2d = 0;
                final TextView numbers = (TextView) findViewById(R.id.numbers);
                numbers.setText(loadG2a+loadG2b);
                final EditText input2 = (EditText) findViewById(R.id.input2);
                if (true) {
                    input2.setOnKeyListener(new View.OnKeyListener() {
                        @Override
                        public boolean onKey(View v, int keyCode, KeyEvent event) {
                            if (event.getAction() == KeyEvent.ACTION_DOWN) {
                                switch (keyCode) {
                                    case KeyEvent.KEYCODE_ENTER:
                                        Editable answer2 = input2.getText();
                                        int finalAnswer2 = Integer.parseInt(String.valueOf(answer2));
                                        int finalLoadG2 = Integer.parseInt(String.valueOf(numbers.getText()));
                                        input2.getText().clear();

                                        if (finalAnswer2 == finalLoadG2) {
                                            score++;
                                        }


                                        if (score>=0 && score<=3){
                                            int loadG2a = generateG2.nextInt(89)+10;
                                            int loadG2b = generateG2.nextInt(89)+10;
                                            int loadG2c = 0;
                                            int loadG2d = 0;
                                            numbers.setText(loadG2a+loadG2b);

                                        }

                                        if (score>=4 && score<=6){
                                            int loadG2a = generateG2.nextInt(899)+100;
                                            int loadG2b = generateG2.nextInt(899)+100;
                                            int loadG2c = 0;
                                            int loadG2d = 0;
                                            numbers.setText(loadG2a+loadG2b);
                                        }

                                        if (score>=7 && score<=9){
                                            int loadG2a = generateG2.nextInt(89)+10;
                                            int loadG2b = generateG2.nextInt(89)+10;
                                            int loadG2c = generateG2.nextInt(89)+10;
                                            int loadG2d = 0;
                                            numbers.setText(loadG2a+loadG2b+loadG2c);
                                        }

                                        if (score>=10 && score<=12){
                                            int loadG2a = generateG2.nextInt(899)+100;
                                            int loadG2b = generateG2.nextInt(899)+100;
                                            int loadG2c = generateG2.nextInt(899)+100;
                                            int loadG2d = 0;
                                            numbers.setText(loadG2a+loadG2b+loadG2c);
                                        }

                                        if (score>=13 && score<=15){
                                            int loadG2a = generateG2.nextInt(89)+10;
                                            int loadG2b = generateG2.nextInt(89)+10;
                                            int loadG2c = generateG2.nextInt(89)+10;
                                            int loadG2d = generateG2.nextInt(89)+10;
                                            numbers.setText(loadG2a+loadG2b+loadG2c+loadG2d);
                                        }

                                        if (score>=16 && score<=18){
                                            int loadG2a = generateG2.nextInt(899)+100;
                                            int loadG2b = generateG2.nextInt(899)+100;
                                            int loadG2c = generateG2.nextInt(899)+100;
                                            int loadG2d = generateG2.nextInt(899)+100;
                                            numbers.setText(loadG2a+loadG2b+loadG2c+loadG2d);
                                        }

                                        if (score>=19 && score<=20){
                                            int loadG2a = generateG2.nextInt(8999)+1000;
                                            int loadG2b = generateG2.nextInt(8999)+1000;
                                            int loadG2c = generateG2.nextInt(8999)+1000;
                                            int loadG2d = 0;
                                            numbers.setText(loadG2a+loadG2b+loadG2c);
                                        }

                                        if (score>=21 && score<=22){
                                            int loadG2a = generateG2.nextInt(8999)+1000;
                                            int loadG2b = generateG2.nextInt(8999)+1000;
                                            int loadG2c = generateG2.nextInt(8999)+1000;
                                            int loadG2d = generateG2.nextInt(8999)+1000;
                                            numbers.setText(loadG2a+loadG2b+loadG2c+loadG2d);
                                        }

                                        if (score>=23){
                                            int loadG2a = generateG2.nextInt(89999)+10000;
                                            int loadG2b = generateG2.nextInt(89999)+10000;
                                            int loadG2c = generateG2.nextInt(89999)+10000;
                                            int loadG2d = generateG2.nextInt(89999)+10000;
                                            numbers.setText(loadG2a+loadG2b+loadG2c+loadG2d);
                                        }


                                }
                            }

                            return false;
                        }
                    });
                }
最终按钮2;
loseStarter2=(按钮)findViewById(R.id.Starter2);
loseStarter2.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
losestarter 2.设置可见性(View.GONE);
infoG2.setVisibility(View.GONE);
最终随机生成器g2=新随机();
最终整数载荷G2a=发电机2.nextInt(89)+10;
最终整数载荷G2b=发电机2.nextInt(89)+10;
最终整数载荷G2c=0;
最终整数载荷G2D=0;
最终文本视图编号=(文本视图)findViewById(R.id.Number);
number.setText(loadG2a+loadG2b);
最终EditText input2=(EditText)findViewById(R.id.input2);
如果(真){
input2.setOnKeyListener(新视图.OnKeyListener(){
@凌驾
公共布尔onKey(视图v、int keyCode、KeyEvent事件){
if(event.getAction()==KeyEvent.ACTION\u向下){
开关(钥匙代码){
case KeyEvent.KEYCODE\u输入:
可编辑的answer2=input2.getText();
int finalAnswer2=Integer.parseInt(String.valueOf(answer2));
int finalLoadG2=Integer.parseInt(String.valueOf(numbers.getText());
input2.getText().clear();
if(finalAnswer2==finalLoadG2){
分数++;
}
如果(分数>=0&&score=4&&score=7&&score=10&&score=13&&score=16&&score=19&&score=21&&score=23){
int loadG2a=generateG2.nextInt(89999)+10000;
int loadG2b=generateG2.nextInt(89999)+10000;
int loadG2c=generateG2.nextInt(89999)+10000;
int loadG2d=generateG2.nextInt(89999)+10000;
number.setText(loadG2a+loadG2b+loadG2c+loadG2d);
}
}
}
返回false;
}
});
}

如果有人愿意帮助我解决这个问题,并让程序按预期方式运行,我将不胜感激。请随意替换任何必要的代码。非常感谢。

如果发生崩溃,请上传logcat,它有助于更快地检测问题。您能告诉我们您在控制台中遇到了什么异常吗?而且它看起来像e您有int loadG2A的重复标识符,谢谢您忘记了这一点。
// here is int's (all other lines with int's must be also corrected)
numbers.setText(loadG2a+loadG2b+loadG2c+loadG2d); 

// but must be String =)
numbers.setText(loadG2a+loadG2b+loadG2c+loadG2d+"");