编译错误:“void”此处不允许输入

发布于 2024-11-02 08:05:12 字数 491 浏览 1 评论 0原文

我该如何解决这种类型的编译错误。

粗体部分是显示编译错误的地方。

DegreeDays.java:71: 'void' type not allowed here
        System.out.println(***"\t"***(error here) +
            list(test[counter]) + "\t\t\t" + 
            average_temp(test[counter], test[counter - 1]));

DegreeDays.java:71: 'void' type not allowed here
        System.out.println("\t" + list(test[counter]) ***+
            ***(error here) "\t\t\t" + 
            average_temp(test[counter], test[counter - 1]));

How can I resolve this type of a compilation error.

The bold part is the place where it shows a compilation error.

DegreeDays.java:71: 'void' type not allowed here
        System.out.println(***"\t"***(error here) +
            list(test[counter]) + "\t\t\t" + 
            average_temp(test[counter], test[counter - 1]));

DegreeDays.java:71: 'void' type not allowed here
        System.out.println("\t" + list(test[counter]) ***+
            ***(error here) "\t\t\t" + 
            average_temp(test[counter], test[counter - 1]));

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

北渚 2024-11-09 08:05:12

想象一下:

void foo() {
  // doesn't matter
}

System.out.println("" + foo()); // What should happen here?

答案是 explode - 这就是 javac 正确执行的操作。方法 foo 具有“void 结果类型”(none、nada、zilch)。没有返回任何对象。曾经。甚至不为空。没有“无”,编译器将拒绝尝试将“无”用作“有”。

(具有“void 结果类型”的方法与可以返回null的方法不同——例如返回类型是Object——这样的方法仍然具有“非- void”结果类型。)

快乐编码。

Imagine this:

void foo() {
  // doesn't matter
}

System.out.println("" + foo()); // What should happen here?

The answer is explode - and this is what javac is correctly doing. The method foo has a "void result type" (none, nada, zilch). There is no object returned. Ever. Not even null. There is "nothing" and the compiler will refuse to try and use "nothing" as a "something".

(A method with a "void result type" is different than a method which can return null -- e.g. return type is Object - such a method still has a "non-void" result type.)

Happy coding.

蓝颜夕 2024-11-09 08:05:12

看起来很可能 listaverage_temp 没有返回 string

It seems most likely that list and average_temp aren't returning a string.

姐不稀罕 2024-11-09 08:05:12

System.out.print() 必须需要显示一些内容。因此,如果您在其中编写任何不返回任何内容的 void 方法,则会显示错误。

所以在你的代码中:

System.out.println("\t" + list(test[counter]) + "\t\t\t" + average_temp(test[counter], test[counter - 1])); 

我认为 average_tempvoid 类型。

System.out.print() must need something to show. So if you write any void method in it which doesn't return anything it will show error.

So in your code:

System.out.println("\t" + list(test[counter]) + "\t\t\t" + average_temp(test[counter], test[counter - 1])); 

I think average_temp is of type void.

过度放纵 2024-11-09 08:05:12

您尝试打印方法 return Nothing (void)。

我认为这是 list() 方法检查它是否返回 stringvoid ..

如果它返回 void您必须从 println 方法中删除它。

you try to print method return Nothing (void).

I think it is list() method check if it's return a string or void ..

if it return void you have to delete it from the println method..

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文