Java ap计算机科学硬件错误
我当前遇到以下代码错误Java ap计算机科学硬件错误,java,arraylist,nullpointerexception,Java,Arraylist,Nullpointerexception,我当前遇到以下代码错误 import java.util.ArrayList; public class Catapult { ArrayList<Double> distance; Catapult() { ArrayList<Double> distance = new ArrayList<Double>(); } public void calcDistance(Integer[][] data
import java.util.ArrayList;
public class Catapult
{
ArrayList<Double> distance;
Catapult()
{
ArrayList<Double> distance = new ArrayList<Double>();
}
public void calcDistance(Integer[][] data)
{
int counter = 0;
for(int a = 0; a < data.length; a++)
{
double speed = data[a][0];
for(int x = 0; x < data[0].length; x++)
{
double radian = Math.toRadians(data[0][1 + x]);
double dist = (speed * speed * Math.sin(2 *radian)) / 9.8;
distance.add(dist);
}
}
}
public void print()
{
for(int x = 0; x < distance.size(); x++)
{
System.out.println(distance.get(x));
}
}
}
无论何时尝试运行它,都会得到java.lang.NullPointerException“Null”。这是一项要求计算不同速度和角度的射弹射程的作业,该射程存储在双数组数据中。但是,错误不断出现,我无法将dist添加到数组列表distance
Catapult() {
ArrayList<Double> distance = new ArrayList<Double>();
}
要访问正确的距离
变量。然后,如果您尝试在代码中使用它,它将不再是null
是的,就像建议的评论一样,试着学习如何使用调试器。这是一个重要的工具,您可以自己查找这些bug。Catapult()
Catapult()
{
ArrayList<Double> distance = new ArrayList<Double>();
}
{
ArrayList距离=新的ArrayList();
}
改为
Catapult()
{
distance = new ArrayList<Double>();
}
弹射器()
{
距离=新的ArrayList();
}
Google“如何读取堆栈跟踪”。请花一些时间学习如何使用调试器。我强烈建议学习如何调试。请阅读并考虑第一部分正在调试。如果你不能调试,你以后的困难会越来越大——最好早点学会如何调试。
Catapult()
{
ArrayList<Double> distance = new ArrayList<Double>();
}
Catapult()
{
distance = new ArrayList<Double>();
}