尝试调用虚拟方法';int java.util.Random.nextInt(int)和#x27;关于空对象引用

尝试调用虚拟方法';int java.util.Random.nextInt(int)和#x27;关于空对象引用,java,android,random,Java,Android,Random,我的问题是:。但我已经用Random实例化了随机变量,但它仍然不起作用。有人知道为什么吗 . . . import java.util.Random; public class game_page extends AppCompatActivity { private TextView gameProblem; private int leftNumber; private int rightNumber; private EditText solution;

我的问题是:。但我已经用Random实例化了随机变量,但它仍然不起作用。有人知道为什么吗

.
.
.
import java.util.Random;

public class game_page extends AppCompatActivity {

    private TextView gameProblem;
    private int leftNumber;
    private int rightNumber;
    private EditText solution;
    private String operator;
    private int sum;

    private Random r = new Random();

    private int difficulty;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_game_page);
        gameProblem = (TextView)findViewById(R.id.game_problem);
        solution = (EditText)findViewById(R.id.solution);

        setDifficulty();
        newProblem();
    }

    //1 = easy
    private void setDifficulty() {
        this.difficulty = 1;
    }

    private void newProblem() {
        if(difficulty == 1){
            leftNumber = r.nextInt(0) + 10;
            rightNumber = r.nextInt(0) + 10;
            operator = "+";
            sum = Integer.parseInt(leftNumber + operator + rightNumber);
            gameProblem.setText(leftNumber + operator + rightNumber + "=");
        }
    }
}
Stacktrace(按要求):

10-09 21:46:51.793 4867-4867/benlab.app1ben E/AndroidRuntime: FATAL EXCEPTION: main
                                                              Process: benlab.app1ben, PID: 4867
                                                              java.lang.RuntimeException: Unable to start activity ComponentInfo{benlab.app1ben/benlab.app1ben.game_page}: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.Random.nextInt()' on a null object reference
                                                                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2464)
                                                                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2524)
                                                                  at android.app.ActivityThread.access$900(ActivityThread.java:154)
                                                                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1391)
                                                                  at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                  at android.os.Looper.loop(Looper.java:234)
                                                                  at android.app.ActivityThread.main(ActivityThread.java:5526)
                                                                  at java.lang.reflect.Method.invoke(Native Method)
                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                               Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.util.Random.nextInt()' on a null object reference
                                                                  at benlab.app1ben.game_page.newProblem(game_page.java:47)
                                                                  at benlab.app1ben.game_page.onCreate(game_page.java:33)
                                                                  at android.app.Activity.performCreate(Activity.java:6285)
                                                                  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
                                                                  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)
                                                                  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2524) 
                                                                  at android.app.ActivityThread.access$900(ActivityThread.java:154) 
                                                                  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1391) 
                                                                  at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                  at android.os.Looper.loop(Looper.java:234) 
                                                                  at android.app.ActivityThread.main(ActivityThread.java:5526) 
                                                                  at java.lang.reflect.Method.invoke(Native Method) 
                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

Stacktrace。你确定错误在这个类中吗?提示:无论你做什么,sum=Integer.parseInt(leftNumber+运算符+rightNumber);无论如何都不行。你只能解析数字,不能解析像“1+2”这样的表达式!我能看到这种情况发生的唯一方法是,如果其他东西正在将
r
设置为null。将字段设置为“最终”,查看编译器抱怨的地方。@PresidentCamacho。