下面的带参并且有返回值的方法哪里出错了,求大神指教。
eclipse显示的报错信息在定义方法的第一行出错了
eclipse显示的报错信息在定义方法的第一行出错了
2016-09-07
我先说一下你的意思:“在main中给出一组成绩,然后先通过删选,排除错误的数据,也就是119,-23,然后再通过函数调用获得你想要的前三名”对吧?
接下来,我说一下,里面遇到的小错误:
这里的num1,你的意思是判断是不是前三名,然后跳出循环的意思,但假设当num1=3的时候,程序跳出循环,return 是在循环内部,所以程序会执行不到,也就是说,你的程序没有返回值,这就是你问的错误
上面有人说把,return拿到外面去,也是不对的,首先i是局部变量,只在循环中有效,出了循环就没有作用,会出现空指针,这时候或许可以把i作用域扩大成方法内,也就是这样然后返回设置成这样
程序就没有问题
但返回回去的num,没有进行输出,你忘记输出了,因为你返回的只是一个int值,所以你输出的结果也只是一个
以上就是你遇到的小错误了
至于正确的做法有以下几个思路:
1.定义一个方法,这方法的功能就是输出前三个的成绩,把System.out.println都放在方法里面,提高代码的简洁性,main里面放方法就好,输出什么的都放其他方法里面,然后在循环里面每找到一个输出一个,最简单的一种方法
2.其次,如果你要获得前三名成绩,并对成绩数据进行处理,建议用上面的返回类型是int【】数组,得到后,想打印,想修改,都没问题
3.第三种,如果你非要把方法定义成int值,那你可以在main函数里面定一个循环,跟一个全局变量,这个变量在main函数里跟top里面都要用到,找到一个,返回一个int值。
以上就是所有的错误跟解决的思路,正确程序相信你可以做出来的!!!望采纳~
举报