Я работаю над этой программой, и я продолжаю получать исключение NullPointerException, и я не уверен, почему.Исключение null null указателя Java многопоточности
//Constructor
public LongTask(SharedResults sharedData,int start, int end)
{
super("Thread");
sharedData=this.sharedData;
start = this.start;
end=this.end;
}
//Run
public void run() {
int sum = 0;
for (int num = start; num<=end;num++)
{
sum+=num;
try {
Thread.sleep((long)(5000*Math.random()));
}
catch (InterruptedException e)
{}
sharedData.addToResult(sum);
}
}
}
В итоге я получаю ошибку NullPointerException. Похоже, мои данные не суммируются правильно.
Вы должны назначить переменные поля не значениям параметров, вам нужно сделать это наоборот. «this.sharedData = sharedData», если эта часть вас смущает, используйте разные имена переменных в качестве значений параметров. – ObedMarsh