问答详情
源自:7-1 编程练习

请问我这个是哪里错了?应该怎么弄成有返回值的?

import java.util.Arrays;

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

    int[] scores ={89,-23,64,91,119,52,73};

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

    HelloWorld hello = new HelloWorld();

    int[] a=hello.cj[](scores);

    System.out.println(a);

    }

    

    //定义方法完成成绩排序并输出前三名的功能

    public int[] cj(int[] scores){

        Arrays.sort(scores);

        int num=0;

        for(int i=scores.length-1;i>=0;i--){

            if(scores[i]<0||scores[i]>100){

                continue;

            }

            num++;

            if(num>1){

                break;

            }

            

        }return scores;

    }

    


提问者:苏北行 2018-11-17 22:34

个回答

  • 雀雀you
    2018-11-18 08:38:21
    已采纳

    实现这个功能不需要使用到返回值,因为你要输出三个成绩,而一次只能返回一个值。你可以在if语句块的下面加一句:System.out.println(scores[i]);意思是打印当前元素。并且你的if语句的条件也写错了,应写成:if(num>3)代表当查询出第三个成绩后跳出循环。在调用方法处,因为不需要使用返回值,所以也不用接收,可直接写成:hello.cj(scores);不能写中括号。同学你可以将数组的操作,方法的操作,这两章多加以练习,熟练掌握它们的语法,这样的小错误就不会犯了。