**已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
1小时前关闭。
Improve this question
我创建了一个表单来检查用户输入的身高和体重的BMI。但运行项目后,它抛出此错误消息:
org.apache.jasper.JasperException:
在第[35]行处理[/views/web/checkBMI.jsp]时发生异常
32:字符串ChieuCao =请求.获取参数(“txtChieuCao”);
33:字符串CanNang =请求.获取参数(“txtCanNang”);
三十四岁:
35:双高度=双。解析双(曹队长);
36:双权重=双解析双(CanNang);
37:双倍BMI =体重/(身高 * 身高);
三十八岁:
这是我的文件checkBMI.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.lang.*" %>
<%@ include file="/common/taglib.jsp" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Check BMI</title>
</head>
<body>
<div>
<div class="title">
KIỂM TRA BMI CỦA BẠN
</div>
<div>
<table>
<tr>
<td>Chiều cao:</td>
<td><input type="text" name="txtChieuCao" placeholder="Enter your height (m)!"></td>
</tr>
<tr>
<td>Cân nặng:</td>
<td><input type="text" name="txtCanNang" placeholder="Enter your weight (kg)!"></td>
</tr>
<tr>
<td>Kết Quả BMI:</td>
<td>
<%
String ChieuCao = request.getParameter("txtChieuCao");
String CanNang = request.getParameter("txtCanNang");
double height = Double.parseDouble(ChieuCao);
double weight = Double.parseDouble(CanNang);
double BMI = weight/(height * height);
if (BMI < 18.5) {
out.println("BMI: " + BMI);
out.println("Bạn đang thiếu cân! Bạn nên có chế độ ăn phù hợp hơn!");
}
else if (18.5 <= BMI && BMI <= 24.9) {
out.println("BMI: " + BMI);
out.println("Bạn đang có thể trạng khỏe mạnh, bạn nên duy trì thể trạng này!");
}
else if (25 <= BMI && BMI <= 29.9) {
out.println("BMI: " + BMI);
out.println("Bạn đang thừa cân! Bạn nên có chế độ ăn phù hợp hơn!");
}
else {
out.println("BMI: " + BMI);
out.println("Bạn đang béo phì! Bạn nên có chế độ ăn phù hợp hơn!");
}
%>
</td>
</tr>
</table>
</div>
<div>
<form action="#" method="post">
<input type="submit" value="Submit">
<input type="reset" value="Reset">
</form>
</div>
</div>
</body>
</html>
我试过我知道的方法,但是没用。请帮帮我。
1条答案
按热度按时间06odsfpq1#
错误是由于Double.parseDouble方法未能将输入分析为有效数字而导致的。可能的更正如下所示;