黑马程序员技术交流社区

标题: 本渣渣又要提出问题了,例子如下 [打印本页]

作者: CC_gogo    时间: 2014-9-29 18:59
标题: 本渣渣又要提出问题了,例子如下
如果这个语句中的,void改成int,哪么输出结果出现错误,显示缺少返回语句,我输入的是整形,输出的是整形,哪里有错,大神们求助!

2014-09-29_18-54-09.png (10.8 KB, 下载次数: 8)

2014-09-29_18-54-09.png

作者: darkads    时间: 2014-9-29 19:12
void表示没有返回值,所以也就不用return语句
如果void改为int,那么在方法调用结束时,必须使用return放回一个int值
作者: 朴日男    时间: 2014-9-29 19:13
囧...你这是功能函数, 为啥要返回值呢>? void 改成 int 必然需要return 语句呀...-0 - 也没啥可返回的int型数据呀,,,
写 return 0 表示程序结束???
  1. public class Demo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 chang(6);
  6.         }
  7.         public static int chang(int a)
  8.         {
  9.                 for (int x = 0; x < a; x++)
  10.                 {
  11.                         for (int y = 0; y < a; y++)
  12.                         {
  13.                                 System.out.print("*");
  14.                         }
  15.                         System.out.println();
  16.                        
  17.                 }
  18.                 return 0;
  19.         }
  20. }
复制代码

作者: yl82846094    时间: 2014-9-29 19:15
不说你的程序对错问题,“void改成int,哪么输出结果出现错误,显示缺少返回语句'是因为你没有“return.......”内容,void不需要再加return的,默认有。
作者: Eagle    时间: 2014-9-29 20:00
没有返回值,int型需要一个return返回值,如:return(a);
作者: CC_gogo    时间: 2014-9-29 20:17
yl82846094 发表于 2014-9-29 19:15
不说你的程序对错问题,“void改成int,哪么输出结果出现错误,显示缺少返回语句'是因为你没有“return.... ...

对对对,还有个老迷糊的问题,这个return返回值,返回到哪里呢?大神求解!
作者: 九零零    时间: 2014-9-29 20:24
CC_gogo 发表于 2014-9-29 20:17
对对对,还有个老迷糊的问题,这个return返回值,返回到哪里呢?大神求解! ...

谁调用了就返回给谁
作者: 伍建雄    时间: 2014-9-29 20:30
定义函数,首先要明确定义的功能的结果是什么?有没有返回值(没有返回值用void,有返回值的话确定返回值类型是int 或者其他什么)?是否有未知内容参与运算(确定传递进去的参数类型,参数个数)?。。。你定义的这个函数,没有返回值用void。如果void改成int,就是说这个函数有个int类型返回,那么就要返回一个int类型的值。需要写返回语句:return 什么
作者: xuanguofeng    时间: 2014-9-29 20:33
CC_gogo 发表于 2014-9-29 20:17
对对对,还有个老迷糊的问题,这个return返回值,返回到哪里呢?大神求解! ...

void 可以没有返回值,但是改成int就必须返回int类型的,谁调用返回给谁啊
例如  int a=调用的方法,这个a就是返回的值
作者: 郑飞    时间: 2014-9-30 22:26
哈哈 我刚接触java的时候一模一样的苦恼  经常把打印语句当作return
还有就是不明确return到哪里去了

用大白话说下: 每个函数都带有return语句 void修饰的方法是return; 其他的是 return 返回值;
                   比如你main里面写的 chang(6) 那这个chang(6)就是个返回值了 你可以用变量接收;
作者: wf111sxwf    时间: 2014-10-7 12:27
你直接在控制台打印了。。哪里来的返回值,你想要的返回值是什么啊。。




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