Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Printwriter类型中的println(boolean)方法不适用于参数(void)_Java_Methods_Compiler Errors_Arguments - Fatal编程技术网

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

Java Printwriter类型中的println(boolean)方法不适用于参数(void),java,methods,compiler-errors,arguments,Java,Methods,Compiler Errors,Arguments,我想从我的类中调用一个方法,但我想我把声明搞砸了 上面说 “Printwriter类型中的println(布尔)方法不正确。” 适用于参数(无效)” 这是我班的一部分 String Name = request.getParamter("name"); Printwriter = p=response.getWriter(); Names n = new Names(); n.setName(Name); p.println(Names.theName()); 这是我的另一节课 ... (

我想从我的类中调用一个方法,但我想我把声明搞砸了

上面说

“Printwriter类型中的println(布尔)方法不正确。” 适用于参数(无效)”

这是我班的一部分

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

您的getter(
theName()
)需要返回字符串,而不是将其打印到stdout。或者换句话说,print writers println不希望您的getter返回类型(即
void

我认为错误消息非常清楚

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

这基本上意味着您正在执行的方法
p.println(void)
不接受
void
参数。您正在传递一个
void
,因为您的方法
theName()
是一个void方法。您可能需要在此处返回
字符串

请查看
PrintWriter
文档:您将看到没有一个方法
println()
接受无效参数

更新方法:

public void theName(){ 
    if(Name.equals("Josh")){
        return "Hi Josh, what's up?";
    }
    if(Name.equals("Peter")){
        return "Hi Peter, how are you?";
    }
}

根据您的方法:

public void theName(){...}
你不能

p.println(Names.theName());

使用Names类中的getter来访问您的name属性。

我不确定您是粘贴了实际代码还是键入了它-我在代码中看到的错误大多是打字错误,如:

String Name = request.getParamter("name");  
应该更正参数的拼写

Printwriter = p=response.getWriter();

有两个“=”符号,这可能是问题所在

您的第二个代码段是否可编译?ups,不,这只是一个输入错误。我在Eclipseb中得到了正确的结果,但我希望得到方法的System.out.println()。如果我只使用getter,我就不会得到结果。我应该更改方法的返回类型吗?我该怎么改呢?我尝试了字符串,但它不起作用。所以我必须更改方法的返回类型?我试过绳子,但没用。有什么建议吗?怎么不起作用?更新您的代码并向我们显示您所编辑的内容。我编写的字符串前面没有空格,但仍然无效。您还需要返回一个字符串。检查我的最新答案。