簡體   English   中英

如何使用serlvet將三角形打印到jsp / html頁面

[英]How can print out a triangle using serlvet to a jsp/html page

我想要做的是使用for循環創建一個三角形,然后使用servlet將其返回到jsp或html頁面。 返回多個值時,我能夠做到這一點。 這是我的代碼

protected void doGet(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {
        int num = Integer.parseInt(request.getParameter("num"));
        String procedure = request.getParameter("procedure_type");
        PrintWriter out = response.getWriter();

if (procedure.equalsIgnoreCase("f")) {
                out.write("Fibonacci values "
                        + "<br>"
                        + fibo(num));
        }

我有這種斐波那契方法

public static String fibo(int n) {
        String result = "";
        int num1 = 1;
        int num2 = 0;

        for (int i = 0; i < n; i++) {
            num2 = num2 + num1;
            num1 = num2 - num1;
            result = result + " " + num1;
        }
        return result;
    }

如何格式化我的三角形方法,以便將整個三角形返回到servlet htmlpage?

 public static void triangle(int n) {
for (int i = 0; i < n + 1; i++) {
                    for (int j = 0; j < n + 1; j++) {
                        if (i + j < numn+1) {
                            System.out.println(" ");
                        } else {
                            System.out.println("* ");
                        }
                    }
                    System.out.println("");
                }
}

當我格式化返回值的字符串時,它在單行上打印星號

錯誤的輸出看起來像這樣

************

我認為您的問題是將字符串的格式轉換為html。 您可以使用textarea,然后無需使用&nbsp; <br>

public static void printTriangle(int n, PrintWriter out) {
  out.println("<textarea readonly style=\"font-family:monospace;\">");  
  for (int i = 0; i < n + 1; i++) {
    for (int j = 0; j < n + 1; j++) {
      if (i + j < numn+1) {
         out.print(" ");
      } else {
         out.print("*");
      }
    }
    out.println();
  }
  out.println("</textarea>");
}

選擇:

public static void printTriangle(int n, PrintWriter out) {
  out.println("<div class=\"triangle-container\">");  
  for (int i = 0; i < n + 1; i++) {
    out.println("<div class=\"triangle-line\">");
    for (int j = 0; j < n + 1; j++) {
      if (i + j < numn+1) {
         out.print("<span> </span>");
      } else {
         out.print("<span>*</span>");
      }
    }
    out.println("</div>");
  }
  out.println("</div>");
}

這樣,您可以輕松地使用CSS設置三角形的樣式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM