从页面中输入一个自然数编写Serlvet程序计算一组三角形数据。输出时数据背景色临行异色隔行同色。计算时要对输入的数据进行验证不合法的数据不能计算并给出错误信息。请给出Servlet程序代码
以下是一个简单的Servlet程序,用于计算三角形数据:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class TriangleServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 获取输入的自然数
String input = request.getParameter("number");
int n = 0;
try {
n = Integer.parseInt(input);
} catch (NumberFormatException e) {
// 如果输入不合法,返回错误信息
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h2>Error: Invalid input</h2>");
out.println("</body></html>");
return;
}
// 计算三角形数据
int[][] triangle = new int[n][];
for (int i = 0; i < n; i++) {
triangle[i] = new int[i+1];
triangle[i][0] = 1;
triangle[i][i] = 1;
for (int j = 1; j < i; j++) {
triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j];
}
}
// 输出三角形数据
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<table>");
for (int i = 0; i < n; i++) {
out.println("<tr>");
for (int j = 0; j <= i; j++) {
out.print("<td style=\"background-color: ");
out.print((i+j)%2 == 0 ? "#DDDDDD" : "#EEEEEE");
out.print(";\">");
out.print(triangle[i][j]);
out.print("</td>");
}
out.println("</tr>");
}
out.println("</table>");
out.println("</body></html>");
}
}
在这个程序中,我们首先获取页面中输入的自然数,并尝试将其转换为整数。如果转换失败,说明输入不合法,我们就返回一个错误信息。否则,我们就使用一个二维数组来计算三角形数据,并输出到页面上。在输出时,我们使用了HTML表格,并设置了单元格的背景色,使得相邻行的背景色不同
原文地址: https://www.cveoy.top/t/topic/ebQa 著作权归作者所有。请勿转载和采集!