为了账号安全,请及时绑定邮箱和手机立即绑定

请问大家我这段代码是什么问题?谢谢大家

请问大家我这段代码是什么问题?谢谢大家

宝慕林5339449 2018-03-27 11:42:16
import java.util.Arrays;public class HelloWorld {     //完成 main 方法    public static void main(String[] args) {    HelloWorld hello=new HelloWorld();    int[] scores={89,-23,64,91,119,52,73};    int[] mals=hello.top(scores);       System.out.println("考试成绩的前三名为:"+mals);}    public void top(int[] nums){    Arrays.sort(nums);    int x=0;    int[] mals=new int[3];    for(int i=nums.length-1;i>=0;i--){    if(x<=3){    if(nums[i]<0||nums[i]>100){    continue;               }    else{    x++;    mals[i]=nums[i];              } }    return  mals[];                  }   }        }        //定义方法完成成绩排序并输出前三名的功能我想用带参带返回值的方法做这道题,所以我又new了一个数组以存前三名的成绩,但是报错了,好像是我的mals数组的写法有问题。想请教大家我这道题怎么错了,以及数组的写法,我经常在表示数组的时候不知道正确的写法。谢谢大家!
查看完整描述

1 回答

?
慕盖茨030889

TA贡献2条经验 获得超0个赞

1.top方法有返回值return,要设置返回类型,不能为void

2.System.out.println("考试成绩的前三名为:"+mals);

mals是一个数组,直接输出拿不到值。可以让top方法返回一个String的字符串


逻辑写的有点乱,可以这样写

把mian方法中的mals改成String类型

private static String top(int[] nums) {

Arrays.sort(nums); //按从小到大排序

String mals = "";

for(int i=1;i<=nums.length;i++){

mals += nums[nums.length-i]+"  ";

if(i==3){

break; //跳出当前循环

}

}

return mals;

}


查看完整回答
反对 回复 2018-03-28
  • 1 回答
  • 0 关注
  • 817 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信