黑马程序员技术交流社区

标题: 为什么出错 [打印本页]

作者: gzp123    时间: 2015-5-6 22:01
标题: 为什么出错
public class lianxi03 {
       
        public static void main (String[] args) {
                int number = 20;
                int xx = sum(number);
                int average = xx / number;
                System.out.println("1到" + number + "之间的数之和是" + xx + "它们的平均数是" + average);
               
        }
        public static int sum(int num) {
                int x = 1;
                int y = 0;
                while (x <= num)
                {
                        y = y + x;
                        x++;        
                        return y;
                }  
        }
}

作者: 敢舍弃么    时间: 2015-5-6 22:04
在while 循环外还须要返回一个int型的数值
作者: 杨海林    时间: 2015-5-6 22:05
记住,只要有返回值,必须在各种情况下都的return
作者: csu050416    时间: 2015-5-6 22:07
return y写到while循环外。

作者: csu050416    时间: 2015-5-6 22:09
public static int sum(int num)
{
                int x = 1;
                int y = 0;
                while (x <= num)
                {
                        y = y + x;
                        x++;        
                        
                }  
                return y;
}
作者: 鱼饵    时间: 2015-5-6 22:14
public class Demo {
         
        public static void main (String[] args) {
                 int number = 20;
                 int xx = sum(number);
                 int average = xx / number;
                 System.out.println("1到" + number + "之间的数之和是" + xx + "它们的平均数是" + average);
                 
        }
         public static int sum(int num) {
                 int x = 1;
                 int y = 0;
                 while (x <= num)
                 {
                         y = y + x;
                         x++;        
                 }
        return y;  
         }
}
把return y;放到外面就好了。(把return写在while外面)
作者: xingfeichen    时间: 2015-5-7 09:27
所有非void类型的方法都需要返回值,你的你的方法中,while循环中虽然有返回值,但是当你的x值大于number时,循环终止,但是循环外没有返回值,所以报错。建议循环结束后加return




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2