estoy haciendo un ejercicio de clase que es básicamente una pequeña calculadora a la que se le añaden dos dígitos y con 4 opciones hace la operación correspondiente.
El código es el siguiente:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../CSS/normalizer.css">
<link rel="stylesheet" type="text/css" href="../CSS/estilos.css">
<title>Calculadora</title>
</head>
<body>
<form>
<%
//jueves 4 de octubre de 2018
Calendar fechaActual = Calendar.getInstance();
int diaMes = fechaActual.get(Calendar.DAY_OF_MONTH);
int anio = fechaActual.get(Calendar.YEAR);
Month mes = LocalDate.now().getMonth();
DayOfWeek diaSemana = LocalDate.now().getDayOfWeek();
// Obtiener nombre del mes
String nombreMes = mes.getDisplayName(TextStyle.FULL, new Locale("es", "ES"));
String nombreDiaSemana = diaSemana.getDisplayName(TextStyle.FULL, new Locale("es", "ES"));
%>
<fieldset>
<legend>CALCULADORA BASICA</legend>
<p><strong><%=nombreDiaSemana%> <%=diaMes%> de <%=nombreMes%> de <%=anio%></strong></p>
<br>
<label>Primer Operando</label><input name="num1" type="text">
<label>Segundo Operando</label><input name="num2" type="text">
<br>
<br>
Sumar<input name="operacion" value="Sumar" type="radio" checked="checked">
Restar<input name="operacion" value="Restar" type="radio">
Multiplicar<input name="operacion" value="Multiplicar" type="radio">
Dividir<input name="operacion" value="Dividir" type="radio">
<br>
<br>
<%
String mensajeOperacion = "";
if (request.getParameter("operacion").equals("Sumar")) {
mensajeOperacion = "El resultado de " +
Integer.parseInt(request.getParameter("num1"))+ " + " +
Integer.parseInt(request.getParameter("num2")) + " = " +
(Integer.parseInt(request.getParameter("num1"))+Integer.parseInt(request.getParameter("num2")));
}else if(request.getParameter("operacion").equals("Restar")){
mensajeOperacion = "El resultado de " +
Integer.parseInt(request.getParameter("num1"))+ " - " +
Integer.parseInt(request.getParameter("num2")) + " = " +
(Integer.parseInt(request.getParameter("num1"))-Integer.parseInt(request.getParameter("num2")));
}else if(request.getParameter("operacion").equals("Multiplicar")){
mensajeOperacion = "El resultado de " +
Integer.parseInt(request.getParameter("num1"))+ " * " +
Integer.parseInt(request.getParameter("num2")) + " = " +
(Integer.parseInt(request.getParameter("num1"))*Integer.parseInt(request.getParameter("num2")));
}else if(request.getParameter("operacion").equals("Dividir")){
if(Integer.parseInt(request.getParameter("num2"))!=0){
mensajeOperacion = "El resultado de " +
Integer.parseInt(request.getParameter("num1"))+ " / " +
Integer.parseInt(request.getParameter("num2")) + " = " +
(Integer.parseInt(request.getParameter("num1"))/Integer.parseInt(request.getParameter("num2")));
}else{
mensajeOperacion = "No se puede dividir entre 0";
}
}
%>
<%=mensajeOperacion%>
<button type="reset" name="limpiar" value="Limpiar">Limpiar</button>
<button type="submit" name="botonCookie" value="Menu"><a id="menuCookies" href="<%=request.getContextPath()%>/index.html">Menú</a> </button>
</fieldset>
</form>
</body>
</html>
Cuando ejecuto me sale siempre el error: Estado HTTP 500 – Internal Server Error
Como veis es un programa muy básico, pero que no sé por qué no funciona correctamente. Los inputs deben ser de tipo radio.