Hello eingineers / programmers。我正在计算悬臂的从右到左的时刻过程。 问题:算法适用于a = 0,a = 1然后它不起作用。代码如下:
objekte []是两个类的对象数组 - Einzelmoment(moment)和Punktlast(单个力)。
for (int a = 0; a < verlauf[0].length; a++) {
for (int k = 0; k < objekte.length; k++) {
if (a == 0) {
verlauf[0][0] = objekte[k].getLage();
verlauf[1][a] = objekte[k].getKraft();
if (objekte[k].getClass() == Punktlast.class) {
verlauf[2][a] = -(objekte[k].getKraft() * (objekte[a]
.getLage() - objekte[k].getLage()));
} else if (objekte[k].getClass() == Einzelmoment.class) {
verlauf[2][a] = -(objekte[k].getMoment());
}
}
else {
verlauf[0][a] = objekte[k].getLage();
verlauf[1][a] = objekte[k].getKraft() + verlauf[1][a - 1];
if (objekte[k].getClass() == Punktlast.class) {
for (int j = 1; j == k; j++) {
if (objekte[k - j].getClass() == Einzelmoment.class) {
verlauf[2][a] += -(objekte[k - j].getMoment());
} else if (objekte[k - j].getClass() == Punktlast.class) {
verlauf[2][a] += -(objekte[k - j].getKraft() * (objekte[k- j].getLage() - objekte[k].getLage()));
}
j++;
}
}
else if (objekte[k].getClass() == Einzelmoment.class) {
for (int j = 1; j == k; j++) {
if (objekte[k - j].getClass() == Einzelmoment.class) {
verlauf[2][a] += -(objekte[k - j].getMoment() + objekte[k].getMoment());
} else if (objekte[k - j].getClass() == Punktlast.class) {
verlauf[2][a] += -(objekte[k - j].getKraft() * (objekte[k- j].getLage() - objekte[k].getLage()));
}
j++;
}
}
}
a++;
}
}
希望不知何故这是有道理的。如您所见here,它适用于a = 1,但不会继续使用其他对象。代码中的问题在于它停止了a = 1?提前谢谢!