Android Studio-JAVA-Variable可能尚未初始化

Android Studio-JAVA-Variable可能尚未初始化,java,android,Java,Android,我对JAVA/Android完全陌生,所以我在udemy上学习这门课程。 这是我坚持的代码: import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import java.util.Random; public class MainActivity extends AppCompatActivity { public void gu

我对JAVA/Android完全陌生,所以我在udemy上学习这门课程。 这是我坚持的代码:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

import java.util.Random;



public class MainActivity extends AppCompatActivity {

    public void guessclick(View view){
        int randomNumber;
    }

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

        Random rand = new Random();
        randomNumber = rand.nextInt(20) + 1;
    }
}

这是与课程视频中的老师得到的代码完全相同,由他操作,但我得到
错误:变量randomNumber可能未初始化
,当我将
randomNumber
放入“烤面包机”并运行应用程序时,应用程序崩溃。有人知道解决办法吗?我找到了关于同一问题的答案,但使用了另一个代码,这对我没有帮助。

该代码是错误的,无法编译<代码>整数随机数
声明一个局部变量,该变量在
guessclick()方法返回后立即超出范围。它在
onCreate()
中的后续使用将不会编译,因为该变量尚未在该方法的作用域中声明

我猜他们是想将
randomNumber
声明为
MainActivity
的一个实例字段

public class MainActivity extends AppCompatActivity {
        int randomNumber;

该代码是错误的,无法编译<代码>整数随机数
声明一个局部变量,该变量在
guessclick()方法返回后立即超出范围。它在
onCreate()
中的后续使用将不会编译,因为该变量尚未在该方法的作用域中声明

我猜他们是想将
randomNumber
声明为
MainActivity
的一个实例字段

public class MainActivity extends AppCompatActivity {
        int randomNumber;
您可以尝试: 因为你使用“随机数”就像全局值一样

public class MainActivity extends AppCompatActivity {


    int randomNumber;


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

        Random rand = new Random();
        randomNumber = rand.nextInt(20) + 1;
    }
}
您可以尝试: 因为你使用“随机数”就像全局值一样

public class MainActivity extends AppCompatActivity {


    int randomNumber;


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

        Random rand = new Random();
        randomNumber = rand.nextInt(20) + 1;
    }
}


由于OP似乎是个初学者,这至少需要一点解释……好吧,我会给他写一个解释)Sry Jeffrey是第一个:祝你好运Muller!由于OP似乎是个初学者,这至少需要一点解释……好吧,我会给他写一个解释)Sry Jeffrey是第一个:祝你好运Muller!是的,这就是解决方案,与PHP和JS相比,JAVA是相当困难的:(所有东西都有无数额外的代码和类,还有奇怪的规则:(谢谢:我会等到你掌握了语言之后再得出结论。你只是在错误的范围内声明了一个变量。你是说PHP和JS没有范围吗?我不知道范围是什么,但在JS中,例如,你可以在任何函数外定义一个变量,它将在任何函数中工作,无论在哪里。在PHP中,它可以工作n。)o无论在何处以及如何定义(除了必须在上面定义它将在何处使用)几乎所有也可以在PHP或JS中完成的事情都比较容易,在JAVA中有多种类型的数组,比如..让我们看看我会发现OOOOPS是的,这是解决方案,JAVA与PHP和JS相比非常困难:(每件事都有无数额外的代码和类,还有奇怪的规则:(谢谢:我会等到你掌握了语言之后再得出结论。你只是在错误的范围内声明了一个变量。你是说PHP和JS没有范围吗?我不知道范围是什么,但在JS中,例如,你可以在任何函数外定义一个变量,它将在任何函数中工作,无论在哪里。在PHP中,它可以工作n。)o无论在何处以及如何定义(除了必须在上面定义它将在何处使用)几乎所有也可以在PHP或JS中完成的事情都比较容易,在JAVA中有多种类型的数组,比如..让我们看看我会发现有多少更奇怪的东西