[英]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,然后無需使用
和<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.