У меня возникла проблема при создании программы для решения простой кинематики.Сеттер не может изменить поле правильно
Я запустил программу и выяснил, что поля не были изменены должным образом. Вот отброс моей программы, который инициализирует объект и устанавливает переменные.
public class LinearConstantAcceleration1DKinematics {
private double distance;
private double speed;
private double acceleration;
private double time;
public LinearConstantAcceleration1DKinematics() {
/* initialize the object */
distance = 0;
speed = 0;
acceleration = 0;
time = 0;
}
public void setS(double s) {
this.distance = s;
}
//continue with 3 more setters which is created in the same way ,i have omitted them here
public double getU(){
double u_ans;
u_ans = (distance - 1/2 *acceleration*time*time)/time;
return u_ans;
}
}
А вот главное, что использует методы
LinearConstantAcceleration1DKinematics kinematics = new LinearConstantAcceleration1DKinematics();
kinematics.setS(175);
kinematics.setA(10);
kinematics.setT(5);
System.out.printf(%f\n", kinematics.getU());
В результате получается 35, который incorrect.Many спасибо за вашу помощь.
Можете ли вы опубликовать полный код? потому что System.out.printf (% f \ n ", kinematics.getU()); не компилируется и не существует setA() или setT() – Bon
HaHaman, вы все еще не опубликовали полный код. –