Printwriter类型中的println(boolean)方法不适用于参数(void)

时间:2016-11-15 09:40:38

标签: java methods compiler-errors arguments

我想从我的班级调用一个方法,但我认为我搞砸了宣言。

它说

  

“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?")}
}

4 个答案:

答案 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属性。