从页面中输入一个自然数编写Serlvet程序计算一组三角形数据。输出时数据背景色临行异色隔行同色。请给出相应代码
以下是一个示例代码:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/TriangleServlet")
public class TriangleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public TriangleServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html><head><title>Triangle Data</title></head><body>");
int n = Integer.parseInt(request.getParameter("n"));
out.println("<h2>Triangle Data for n=" + n + "</h2>");
out.println("<table border='1'>");
out.println("<tr><th>Side 1</th><th>Side 2</th><th>Side 3</th><th>Area</th></tr>");
boolean oddRow = true;
for (int i = 1; i <= n; i++) {
for (int j = i; j <= n; j++) {
for (int k = j; k <= n; k++) {
if (i + j > k) {
double s = (i + j + k) / 2.0;
double area = Math.sqrt(s * (s - i) * (s - j) * (s - k));
out.print("<tr style='background-color:" + (oddRow ? "lightgray" : "white") + "'>");
out.print("<td>" + i + "</td>");
out.print("<td>" + j + "</td>");
out.print("<td>" + k + "</td>");
out.print("<td>" + area + "</td>");
out.print("</tr>");
oddRow = !oddRow;
}
}
}
}
out.println("</table>");
out.println("</body></html>");
out.close();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
这个Servlet使用了HTML表格来显示三角形的数据,同时使用oddRow变量来控制背景色的交替变化。当oddRow为true时,背景色为浅灰色;当oddRow为false时,背景色为白色
原文地址: https://www.cveoy.top/t/topic/ebKH 著作权归作者所有。请勿转载和采集!