elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Accede Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  AYUDA (JAVA): ERROR Double.parseDouble
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: AYUDA (JAVA): ERROR Double.parseDouble  (Leído 253 veces)
Yager2222

Desconectado Desconectado

Mensajes: 4


Ver Perfil
AYUDA (JAVA): ERROR Double.parseDouble
« en: 21 Mayo 2020, 17:48 »

Buenas amigos del foro, estoy teniendo problemas con el proyecto adjunto:

La primera tabla si que se me genera con el título, autor y precio. El fallo me da al querer recuperar los libros en los que seleccioné la opción comprar en una segunda tabla, y me da el siguiente error:

Código:
Estado HTTP 500 – Internal Server Error


Tipo Informe de Excepción

Descripción El servidor encontró un error interno que hizo que no pudiera rellenar este requerimiento.

excepción
java.lang.NullPointerException
sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1838)
sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
java.lang.Double.parseDouble(Double.java:538)
modelo.GestionVentas.service(GestionVentas.java:39)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)


nota La traza completa de la causa de este error se encuentra en los archivos de registro del servidor.




GestionVentas.java

Código:
package modelo;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


import beans.Libro;

@WebServlet("/GestionVentas")
public class GestionVentas extends HttpServlet {
private static final long serialVersionUID = 1L;

    public GestionVentas() {
        super();
    }

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

List<Libro> lista = null;
HttpSession misesion = request.getSession();
lista= (ArrayList<Libro>)misesion.getAttribute("lista");
if (lista == null)
lista= new ArrayList<Libro>();
switch(request.getParameter("opcion")) {

case "comprar":
String titulo = request.getParameter("titulo");
String autor = request.getParameter("autor");
String precio = request.getParameter("precio");

double e = Double.parseDouble(precio);

Libro l = new Libro(titulo, autor, e);
lista.add(l);
misesion.setAttribute("lista", lista);
request.getRequestDispatcher("libros.jsp").forward(request, response);
break;


case "eliminar":
lista.remove(Integer.parseInt(request.getParameter("id")));
misesion.setAttribute("lista", lista);
request.getRequestDispatcher("libros.jsp").forward(request, response);

break;

}
}
}
---------------------------
libros.jsp

Código:
<%@page import="beans.Libro"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE HTML>
<html>
<head>
<title>libros</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>   
<h1>Listado de libros</h1>

<table border="1">
    <tr><th></th><th>Titulo</th><th>Autor</th><th>Precio</th></tr>
        <c:forEach items="${requestScope.libros}" var="libro" varStatus="i">
<tr>
<td><a href="GestionVentas?opcion=comprar&id=${i.index}">
              <input type="submit" value="Comprar"/></a></td>
<td>${libro.titulo}</td>
<td>${libro.autor}</td>
<td>${libro.precio}</td>
</tr>
</c:forEach>
</table>
<br/><br/>
<br/><br/>
<table border=1 cellspacing=1 cellpadding=7 bordercolor="black">
<tr><th></th><th>Titulo</th><th>Autor</th><th>Precio</th></tr>
<c:forEach items="${sessionScope.lista}" var="libro2" varStatus="i">

<tr>
<td><a href="GestionVentas?opcion=eliminar&id=${i.index}">
              <input type="submit" value="eliminar"/></a></td>
<td><c:out value="${libro2.titulo}"></c:out></td>
<td><c:out value="${libro2.autor}"></c:out></td>
<td><c:out value="${libro2.precio}"></c:out></td>
</tr>
</c:forEach>
</table>

<a href="Controller?op=doTemas">Otro tema</a>
<br/><br/>
</body>
</html>

Saludos


En línea

EdePC
Colaborador
***
Desconectado Desconectado

Mensajes: 1.068


Ver Perfil
Re: AYUDA (JAVA): ERROR Double.parseDouble
« Respuesta #1 en: 21 Mayo 2020, 18:11 »

Saludos,

- No soy experto en Java pero se me ocurre que puedes poner un BreackPoint u otro método para ver que es lo que realmente trae ese: String precio = request.getParameter("precio");, no vaya ha ser que tenga algún símbolo de Moneda o use coma en lugar de punto.


En línea

Yager2222

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: AYUDA (JAVA): ERROR Double.parseDouble
« Respuesta #2 en: 21 Mayo 2020, 19:23 »

Saludos,

- No soy experto en Java pero se me ocurre que puedes poner un BreackPoint u otro método para ver que es lo que realmente trae ese: String precio = request.getParameter("precio");, no vaya ha ser que tenga algún símbolo de Moneda o use coma en lugar de punto.

Gracias por la ayuda.

Respecto al valor, está bien, porque son cogidos de una bbdd. Pero he visto que el problema lo tengo al pasar los datos en el "switch" con "comprar", que no pasa ninguno. Tendré que seguir buscando ahí el fallo.

Saludos
En línea

EdePC
Colaborador
***
Desconectado Desconectado

Mensajes: 1.068


Ver Perfil
Re: AYUDA (JAVA): ERROR Double.parseDouble
« Respuesta #3 en: 21 Mayo 2020, 19:41 »

<td><a href="GestionVentas?opcion=comprar&id=${i.index}"> ahí solo estás enviando el parámetro comprar mas no titulo, autor y precio. Como tienes el ID puedes consultarlo en la base de datos para obtener titulo, autor y precio.

- Aunque no sé porque haces:

Código
  1.   String titulo = request.getParameter("titulo");
  2.   String autor = request.getParameter("autor");
  3.   String precio = request.getParameter("precio");
  4.  
  5.   double e = Double.parseDouble(precio);

-- Si no los vas a utilizar luego ... si los vas a utilizar, como te dije puedes consultarlo en la Base de Datos por medio del ID
En línea

rub'n


Desconectado Desconectado

Mensajes: 1.029


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
Re: AYUDA (JAVA): ERROR Double.parseDouble
« Respuesta #4 en: 21 Mayo 2020, 20:02 »

Usas algun framework no ? estas obligado a usarlo ? Vaadin le da milllllll patadas a eso. y no porque te sientas insultado sino que a veces nos hacen perder el tiempo, habiendo tecnología muyy superior.  >:D

 :-\

EdePC si puedes mueve este post al foro de java.
« Última modificación: 21 Mayo 2020, 20:05 por rub'n » En línea

KNOWLEDGE  SHOULD BE FREE!!! blog.make();
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen King.
Yager2222

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: AYUDA (JAVA): ERROR Double.parseDouble
« Respuesta #5 en: 22 Mayo 2020, 13:04 »

Muchísimas gracias. Tenía un método a parte que me estaba dando fallos, pero llevabas toda la razón

<td><a href="GestionVentas?opcion=comprar&id=${i.index}"> ahí solo estás enviando el parámetro comprar mas no titulo, autor y precio. Como tienes el ID puedes consultarlo en la base de datos para obtener titulo, autor y precio.

- Aunque no sé porque haces:

Código
  1.   String titulo = request.getParameter("titulo");
  2.   String autor = request.getParameter("autor");
  3.   String precio = request.getParameter("precio");
  4.  
  5.   double e = Double.parseDouble(precio);

-- Si no los vas a utilizar luego ... si los vas a utilizar, como te dije puedes consultarlo en la Base de Datos por medio del ID
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA! Error al ejecutar un java « 1 2 »
Java
matiaz14 10 73,546 Último mensaje 29 Noviembre 2014, 00:22
por net007
Ayuda error en el main de Java
Java
patxiku10 2 2,870 Último mensaje 28 Abril 2012, 04:16
por sapito169
Ayuda error de java securityexception.
Seguridad
TitoPulo 6 7,248 Último mensaje 24 Abril 2014, 16:57
por andavid
Double C# y Double SQLITE (Separadores con Punto y Coma)
.NET (C#, VB.NET, ASP)
MauroMasciar 3 1,596 Último mensaje 10 Diciembre 2017, 17:20
por Maurice_Lupin
Error al leer double de fichero [HELP]
Java
JonaLamper 6 493 Último mensaje 22 Enero 2019, 05:41
por EdePC
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines