java - 我在 addPointLoad() 方法中遇到空指针异常
问题描述
我有 2 个我试图通过此方法访问的对象类,但它给出了一个空指针异常。不知道是简单的数组大小还是更复杂的东西。有人建议我按照以下方式增加数组大小(大小 x 1.5),但我不知道该怎么做。
下面是 Beam 类:
public abstract class Beam {
private String name;
protected double length; // [m]
protected double Emod; // [MPa]
protected double Ixx; // [m^4]
private LoadModel loadModel;
public Beam(String name, double length, double Emod, double Ixx) {
this.name = name;
this.length = length;
this.Emod = Emod;
this.Ixx = Ixx;
}
public void addPointLoad(double magnitude, double loadPos) {
PointLoad PL = new PointLoad(magnitude, loadPos);
loadModel.addPL(PL);
}
LoadModel 类如下:
public class LoadModel {
private PointLoad[] pointLoads;
private LineLoad[] lineLoads;
public int plCounter;
public int llCounter;
public LoadModel(PointLoad[] pl, LineLoad[] ll) {
pointLoads = new PointLoad[2];
lineLoads = new LineLoad[2];
plCounter = 0;
llCounter = 0;
}
public void addPL(PointLoad pl) {
if (plCounter < pointLoads.length) {
pointLoads[plCounter] = pl;
plCounter++;
} else {
plCounter++;
pointLoads[plCounter] = pl;
plCounter++;
}
System.out.println("The amount of Point Loads have been increased");
}
public int numPL() { //Added this aswell as I want to keep track of the number of point loads
return plCounter;
}
下面是 PointLoad 类:
public class PointLoad {
private double magnitude;
private double loadPos;
public PointLoad(double magnitude, double loadPos) {
this.magnitude = magnitude;
this.loadPos = loadPos;
}
public double getMag() {
return magnitude;
}
public double getLoadPos() {
return loadPos;
}
}
任何帮助将不胜感激。
解决方案
将此行添加到 Beam 构造函数:
loadModel = new LoadModel(null, null);
推荐阅读
- makefile - 具有多个文件扩展名的 Makefile 通配符
- javascript - 如何使用 javascript 在文档根目录之外下载图像
- c# - 将 StyleCop 签入策略与 StyleCop+ 一起使用
- python - Pandas 合并数据框列
- sequelize.js - 续集嵌套条件
- aws-api-gateway - 在 aws API 网关中共享相同父路由的两个服务
- python-3.x - Python configparser 自动转换为布尔值
- c# - 在 WPF 中创建自定义可重用用户控件,弄清楚如何组合进度条和滑块?
- c++ - 是否存在一个 range::views::group_by 对应项,它考虑了所有元素,而不仅仅是连续的元素?
- sql - 在 hive/impala 中运行多个 sql 查询以测试通过或失败