我的变量没有初始化?

Nik*_*kiy -1 java

我有这个方法.

错误说

primeList可能尚未初始化.

我无法理解这是怎么回事.我觉得变量不会被for循环初始化.

我无法弄清楚如何初始化String

public void primesToANumber(long num) //finds all primes
{
    String primeList ;
    long pcount;
    long limit = num;
    JOptionPane.showMessageDialog(null,"Prime numbers between 1 and " + limit);
    for(long i = 1; i < 100; i++)
    {
        boolean isPrime = true;
        for(long j = 2; j < i ; j++)
        {
         if(i % j == 0)
            {
                isPrime = false;
                break;
            }
        }
        // print the number
        if(isPrime)
        {
            primeList += i + ", ";
            pcount++;
            if(pcount % 12 ==0){
                primeList += "\n";
            }
        }
    }
    JOptionPane.showMessageDialog(null, " " + primeList);
}
Run Code Online (Sandbox Code Playgroud)

mus*_*fan 5

你需要初始化你的变量,就像它说的那样......

String primeList = "";
Run Code Online (Sandbox Code Playgroud)

然后,使用空字符串将允许您的代码按预期附加到它,以获得所需的结果.


仅供参考,如果您确实想要null出于某种原因使用,您可以通过直接指定它来"说服"编译器您知道自己在做什么:

String primeList = null;
Run Code Online (Sandbox Code Playgroud)

这将编译正常,但是当您尝试追加到null String时会遇到运行时错误,因此在此实例中执行此操作没有意义.