У меня есть класс с конструктором с двумя аргументами типа double.Java: аргумент конструктора (тип double) всегда 0
public class NetcdfHandler {
double x;
double y;
public NetcdfHandler (double x, double y){
x = this.x;
y = this.y;
}
}
Когда я называю это в doGet метод моего Servlet, данные двойные значения как-то не «получил» конструктором. Это означает, что после создания экземпляра NetcdfHandler, х и у обоих есть значение 0.0 (но не «нулевой»), хотя «Lat» и «ДЛН» настроены правильно:
public class Test extends HttpServlet {
private static final long serialVersionUID = 1L;
double Lat;
double Lng;
public Test() {
super();
}
protected void doGet(HttpServletRequest req, HttpServletResponse rsp) throws ServletException, IOException {
Lat = Double.parseDouble(req.getParameter("lat"));
Lng = Double.parseDouble(req.getParameter("lng"));
NetcdfHandler nc = new NetcdfHandler(Lat, Lng);
}
Я предполагаю, что это довольно начинающих ошибка, но я не мог понять, в чем проблема. Может, кто-то может помочь?
print 'req.getParameter (" lat ")' и 'req.getParameter (" lng ")' и посмотреть, что вы получаете –
Вы переключили места 'x' и' this.x'. Голосование закрывается как опечатка. – dasblinkenlight
Кроме того, использование полей вместо локальных переменных в обработчиках сервисов - это плохая идея. – chrylis