【问题标题】:error compilation in print method [duplicate]打印方法中的错误编译[重复]
【发布时间】:2015-09-09 14:49:03
【问题描述】:

我在打印方法中收到以下错误

void 方法不能返回值

如何更正方法print中的代码?

abstract class Motor{
        int fuel;
        int getFuel(){
            return this.fuel;
        }
        abstract void run();
    }

   public class Player extends Motor {
       void run(){
           print("wroooooom");

//  public static void main(String[] args) {               
        }

    private void print(String string) {
        return string; // Void methods cannot return a value
    }
 }

【问题讨论】:

  • 错误说明了这一点。 print 的返回类型是void,这意味着它不能返回任何东西(不过,您仍然可以使用return; 语句退出该方法)。更改返回类型或不返回任何内容。

标签: java


【解决方案1】:

您已经编写了以下代码:

private void print(String string) {
        return string; 
    }

但是void 这里是return type。因此,这意味着您不能返回任何东西。如果你写 String 而不是 void 那么这意味着返回类型将是一个字符串,在这种情况下,错误就会消失。

应该是这样的:

private String print(String string) {
        return string; 
    }

或者,如果您想保留它void,它是一个打印函数,然后在其中打印字符串本身。

按照评论中的要求,这里的代码应该是这样的。主要的 函数应该在 Player 类中。然后我们定义一个对象 主函数中的 Player 类来调用它的方法。

abstract class Motor{
        int fuel;
        int getFuel(){
            return this.fuel;
        }
        abstract void run();
    }

   public class Player extends Motor {
       public void run(){
           print("wroooooom");//calling print method to print passed string
        }

    public void print(String string) {
        System.out.print(string);
    }

  public static void main(String []args){
    Player p1 = new Player();//creating a object of Player class to access its methods
    p1.run();//calling the run method
    }
}

【讨论】:

  • 嗨,我按照你说的做了,但是eclipse抱怨:错误:主方法不在Player类中,定义主方法public static void main(String[] args)
  • @Ali12 请发布您的整个代码,以便我们对其进行调试。此外,从错误消息的内容来看,您很可能尚未创建 main 函数。或者这是你的全部代码??
  • 我确实发布了所有代码...我不知道将 main 函数放在我的代码中的哪个位置...
  • @Ali12 您应该在特定类中创建一个main 函数并从中调用方法。
  • Motor 是特定的类还是 Player 是特定的类??
猜你喜欢
  • 2016-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-15
  • 2011-12-17
相关资源
最近更新 更多