编写一个jsp页面,页面中: 1.输出一个整数的全部质因子; 2.输出水仙花数;
时间: 2024-09-14 10:05:38 浏览: 61
要编写一个JSP页面实现您的要求,您需要在JSP中嵌入Java代码来完成计算。下面是一个简单的示例代码,其中包含了一个名为`factors.jsp`的JSP页面。这个页面会首先输出一个整数的全部质因子,然后输出一定范围内的所有水仙花数。
```jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>质因子与水仙花数</title>
</head>
<body>
<%
// 获取请求参数,这里假设传递的是数字100
int number = 100; // 示例数字
if (request.getParameter("number") != null) {
number = Integer.parseInt(request.getParameter("number"));
}
// 输出质因子
out.println("<h3>整数 " + number + " 的全部质因子:</h3>");
out.println("<ul>");
for (int i = 1; i <= number; i++) {
if (number % i == 0 && isPrime(i)) {
out.println("<li>" + i + "</li>");
}
}
out.println("</ul>");
// 输出水仙花数
out.println("<h3>水仙花数:</h3>");
out.println("<ul>");
for (int i = 100; i < 1000; i++) {
if (isNarcissisticNumber(i)) {
out.println("<li>" + i + "</li>");
}
}
out.println("</ul>");
// 判断一个数是否是质数
boolean isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
// 判断一个数是否是水仙花数
boolean isNarcissisticNumber(int num) {
int originalNum = num;
int sum = 0;
while (num > 0) {
int digit = num % 10;
sum += Math.pow(digit, 3);
num /= 10;
}
return sum == originalNum;
}
%>
</body>
</html>
```
在这个示例中,页面首先尝试从请求参数中获取一个名为`number`的整数。如果没有提供参数,它将使用默认值100。然后,页面输出这个数字的所有质因子,并遍历100到999之间的所有数字,找出水仙花数并输出。
请注意,这个示例是为了演示如何在JSP页面中嵌入Java代码来完成特定的任务。在实际的生产环境中,通常会将Java代码与JSP页面分离,以保持代码的清晰和可维护性。
阅读全文