out.write不';不需要数据类型双值(Javaservlet)

out.write不';不需要数据类型双值(Javaservlet),java,servlets,Java,Servlets,out.write不“加倍”值。还有别的办法吗? 我用问题标出了界线。 我期待着得到你的继续支持 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.h

out.write不“加倍”值。还有别的办法吗? 我用问题标出了界线。 我期待着得到你的继续支持

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("/ServletDemo")
public class ServletDemo extends HttpServlet {

    private double getFahrenheit(double celsius){
        double fahrenheit = celsius * 1.8 + 32;
        return fahrenheit;
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");       
        PrintWriter out = response.getWriter();
        out.write("!DOCTYPE html>\n");
        out.write("<html>\n");
        out.write("<body>\n");
        out.write("<h1>JSP Beispiel</h1>\n");
        out.write("Text aus dem Scriplet!");
        out.write("<br/>\n");
        out.write("30&deg; Celsius entsprechen\n");
        out.write(getFahrenheit(30.0)); // ----------> Problem at this line
        out.write("&deg; Fahrenheit!\n");
        out.write("</body>\n");
        out.write("</html>");
        out.close();
    }


}
import java.io.IOException;
导入java.io.PrintWriter;
导入javax.servlet.ServletException;
导入javax.servlet.annotation.WebServlet;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
@WebServlet(“/ServletDemo”)
公共类ServletDemo扩展了HttpServlet{
私人双华氏度(双摄氏度){
双华氏度=摄氏度*1.8+32;
返回华氏温度;
}
受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
out.write(“!DOCTYPE html>\n”);
输出。写入(“\n”);
输出。写入(“\n”);
out.write(“JSP Beispiel\n”);
写出(“写下文字!”;
out.write(“
\n”); 输出。写入(“30摄氏度入口温度”); out.write(getFahrenheit(30.0));/------------->此行出现问题 输出。写入(“°;华氏!\n”); 输出。写入(“\n”); 请写出(“”); out.close(); } }
PrintWriter#write
打印一个字符或字符串文字。您可以将double转换为string并写入,或者使用
PrintWriter\print
方法打印double

使用
String.valueOf()
将双精度值转换为字符串文字

片段:

out.write(String.valueOf(getFahrenheit(30.0)));


使用PrintWriter,您不能“写”两遍,而是根据 你可以把它们打印出来

out.print(getFahrenheit(30.0))会是这样吗,也可以
out.write(“+getFahrenheit(30.0))
这样做,如果在某个点上您有一些只支持字符串类型的东西,那么就可以使用一个参数write()
,它可以使用
字符串、
字符[]
int
;但不是一个
double
。通过执行以下操作将值转换为
字符串

out.write(String.valueOf(getFahrenheit(30.0)));
或者只是

out.write(getFahrenheit(30.0) + "");
out.write(getFahrenheit(30.0) + "");