【问题标题】:I am making a program in java on loops and encountered an error我在循环中用java编写程序并遇到错误
【发布时间】:2017-02-22 02:37:35
【问题描述】:

程序如下...

 public class SDD
 {
    public static void main(String args[])
    {
        int x=0, y=10;

        do{

            ++x;

            y-=x++;

        }while(x<=7);
        return(y);
    }
}

报错如下......

无法从类型为 void 的方法返回值。

【问题讨论】:

  • 好吧,你不能从 void 方法返回...
  • 哪个函数正在调用主方法。主要是无效的。你不能返回值。它是 java 不是 c 或 c++。
  • 但是我应该怎么做才能编译并执行它。

标签: java loops bluej


【解决方案1】:
 public class SDD
    {
        public static void main(String args[])
        {
          int x=0, y=10;   
          do{    
             ++x;    
             y-=x++;

           }while(x<=7);
          System.out.println(y);
        }
   }

【讨论】:

  • 只有代码的答案是不可以的。请添加一些解释!
  • 你还需要解释。这是直截了当的。 main 总是无效的,所以你不能返回值。 main 是起点,所以所有的输出都在这里。
【解决方案2】:

您的 main 方法被声明为 void,因此它不能返回值。最后一行(return y)试图返回 y 的值。这是不允许的。

如果要显示 y 的内容,可以将该行替换为:

System.out.println("y = " + y);

【讨论】:

    【解决方案3】:

    删除此行。

     return(y);
    

    添加这一行:

    System.out.println("y = " + y);
    

    或者你可以重写程序如下:

    public class SDD
     {
        public static int main(String args[])
        {
            int x=0, y=10;
    
            do{
    
                ++x;
    
                y-=x++;
    
            }while(x<=7);
            return(y);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2015-07-12
      • 1970-01-01
      • 1970-01-01
      • 2013-03-31
      • 1970-01-01
      • 2021-04-11
      • 2018-09-11
      • 1970-01-01
      • 2015-09-28
      相关资源
      最近更新 更多