Java

ok~_~ok 2016-11-13 10:27:25
Java方法:这么写的错误在哪?实际并不清楚返回值为空(void)和其他返回值类型有什么区别

...全文
228 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
baidu_26558103 2016-11-14
  • 打赏
  • 举报
回复
养成良好的反馈习惯 ,比如 boolean kill(String s) { return true } 你怎么知道砍死了没有 ,所以需要返回值 ,知道砍死了没 当然 ,你是砍一刀就跑 ,那就不需要返回值 了 void kill(String s){ } 是不是简单易懂啊
ok~_~ok 2016-11-14
  • 打赏
  • 举报
回复
引用 3 楼 jstxzhangrui 的回复:
方法就是给别人调用的,比如说这个方法是用来修车的,那我把车做参数扔给你,就行了,你只要负责修好,别给我返回东西了,你的职业就是做修车这件事,我才不关心你怎么修的,反正你就是给我修就是了。再比如一个方法是用来组装车的,那么我把一大堆零件扔给你,让你给我组装,这里就要返回值了,我给你那么多零件,你得给我一个装好的车啊,那么就把装好的车当返回值返回给我就好了,这样是不是通俗易懂了


道理好简单,可是貌似在程序上体现不出来?例如图中的例子,第六行与第八行代码,调用了star(),也相当于有返回了吧,可它用的是void
shinerio 2016-11-14
  • 打赏
  • 举报
回复
方法就是给别人调用的,比如说这个方法是用来修车的,那我把车做参数扔给你,就行了,你只要负责修好,别给我返回东西了,你的职业就是做修车这件事,我才不关心你怎么修的,反正你就是给我修就是了。再比如一个方法是用来组装车的,那么我把一大堆零件扔给你,让你给我组装,这里就要返回值了,我给你那么多零件,你得给我一个装好的车啊,那么就把装好的车当返回值返回给我就好了,这样是不是通俗易懂了
ok~_~ok 2016-11-14
  • 打赏
  • 举报
回复
引用 1 楼 jstxzhangrui 的回复:
想一下a的值是不是不确定,那么如果a不大于0呢,那么就不会进去for循环,那么那两个return就都没执行,excuse me,是不是没有返回值了,方法声明要返回一个int的啊,我的int呢,哼,居然没有,那我就报错了。void就是空的意思,没有返回值,就是方法不需要return语句
谢谢,其实主要是没明白返回值类型为void和其他的返回值类型的作用有什么区别?书上说如果方法功能实现以后不需要反馈结果,则返回值类型书写为void......这里的(需要反馈结果)是指什么?
听听那雨声 2016-11-14
  • 打赏
  • 举报
回复
缺少返回值,或者方法返回值改为void。如果你求的是奇数之和和偶数之和,建议返回值改为String ,后面添加return "在0到"+a+"之间,奇数之和为"+oddSum+",偶数之和为"+evenSum;
shinerio 2016-11-14
  • 打赏
  • 举报
回复
引用 4 楼 li_13579_li的回复:
[quote=引用 3 楼 jstxzhangrui 的回复:]
方法就是给别人调用的,比如说这个方法是用来修车的,那我把车做参数扔给你,就行了,你只要负责修好,别给我返回东西了,你的职业就是做修车这件事,我才不关心你怎么修的,反正你就是给我修就是了。再比如一个方法是用来组装车的,那么我把一大堆零件扔给你,让你给我组装,这里就要返回值了,我给你那么多零件,你得给我一个装好的车啊,那么就把装好的车当返回值返回给我就好了,这样是不是通俗易懂了


道理好简单,可是貌似在程序上体现不出来?例如图中的例子,第六行与第八行代码,调用了star(),也相当于有返回了吧,可它用的是void
[/quote] 这个star是用来打印星号,只管用它来打印星号,请问你要他返回什么东西,就算你非得返回个东西,那你想下你要返回的东西对你有用吗?既然没用,那返回它干啥
  • 打赏
  • 举报
回复
少了个return
Jasmiar 2016-11-14
  • 打赏
  • 举报
回复
void相当于你(这个方法)不用给我返回什么,而其它类型(如:String,Map,List,int,对象)就是定义的调用方法要返回值或者集合,如果你想做逻辑判断,就可以让它返回相应类型,作出判断。
Jeson_y 2016-11-14
  • 打赏
  • 举报
回复
引用 11 楼 Jeson_y 的回复:
如果传入的参数 a=0,那么这个方法就不会进入for循环,就不会有return 语句,所以明显的就编译错误了啊
改正一下 :如果a < 0
Jeson_y 2016-11-14
  • 打赏
  • 举报
回复
如果传入的参数 a=0,那么这个方法就不会进入for循环,就不会有return 语句,所以明显的就编译错误了啊
g747609658 2016-11-14
  • 打赏
  • 举报
回复
少个return;for循环外
shinerio 2016-11-13
  • 打赏
  • 举报
回复
想一下a的值是不是不确定,那么如果a不大于0呢,那么就不会进去for循环,那么那两个return就都没执行,excuse me,是不是没有返回值了,方法声明要返回一个int的啊,我的int呢,哼,居然没有,那我就报错了。void就是空的意思,没有返回值,就是方法不需要return语句

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧