我想从我的班级调用一个方法,但我认为我搞砸了宣言。
它说
“Printwriter类型中的方法println(boolean)不是 适用于参数(void)“
这是我班级的一部分
String Name = request.getParamter("name");
Printwriter = p=response.getWriter();
Names n = new Names();
n.setName(Name);
p.println(Names.theName());
这是我的另一个班级
... (getter and setter for Name) ...
public void theName(){ if(Name.equals("Josh"){ System.out.println("Hi Josh, what's up?")}
if(Name.equals("Peter"){System.out.printlkn("Hi Peter, how are you?")}
}
答案 0 :(得分:2)
我不确定您是否粘贴了实际代码或输入了代码 - 我在代码中看到的错误主要是拼写错误:
String Name = request.getParamter("name");
应纠正参数
的咒语Printwriter = p=response.getWriter();
有2个“=”符号可能是问题
答案 1 :(得分:0)
你的getter(theName()
)需要返回一个String而不是将它打印到stdout。或者换句话说,print printrs println不期望你的getter返回类型(void
)
答案 2 :(得分:0)
我认为错误信息很清楚。
Printwriter类型中的println(boolean)方法不适用于参数(void)
这基本上意味着您执行p.println(void)
的方法不接受void
参数。您正在传递void
,因为您的方法theName()
是一种void方法。您可能希望在那里返回String
。
请查看PrintWriter
文档:http://docs.oracle.com/javase/7/docs/api/java/io/PrintWriter.html,您将看到没有单个方法println()
接受void参数。
更新方法:
public void theName(){
if(Name.equals("Josh")){
return "Hi Josh, what's up?";
}
if(Name.equals("Peter")){
return "Hi Peter, how are you?";
}
}
答案 3 :(得分:0)
根据你的方法:
public void theName(){...}
你不能
p.println(Names.theName());
使用Names类中的getter来访问您的name属性。