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

为什么用带参带返回值的方法不行?

import java.util.Arrays;

public class HelloScore {

    public static void main(String[] args) {

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

      HelloScore score = new HelloScore();

      int sortthenum = score.sortScore();

      System.out.println(sortthenum);

    }

public int sortScore(int[] scores){

    Arrays.sort(scores);

    int j = 0;

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

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

        continue;

    }else{

        j++; 

        if (j > 3){

           break;

    }   

    return int[] scores;//这一句总是报错说:   '.class' expected 是什么意思?

    }

}

}

}


提问者:缃缝 2019-11-27 17:59

个回答

  • 慕设计2385629
    2020-02-07 22:59:53

    调用方法时没有写实参

  • 慕仰0555258
    2019-11-28 12:30:00

    你方法返回的数组,但是返回赋值给了一个整型,方法返回值改为一个int值就可以

  • 缃缝
    2019-11-28 11:30:52

    import java.util.Arrays;


    public class HelloScore {

        public static void main(String[] args) {

          double[] scores = { 8.9, -2.3, 6.4, 9.1, 11.9, 5.2, 7.3}; 

          HelloScore score = new HelloScore();

          double[] sortthenum = score.sortScore(scores);

          System.out.println(Arrays.toString(sortthenum));

        }


        public double[] sortScore(double[] scores){

            Arrays.sort(scores);

            int j = 0;

            double[] validscore = new double[3];

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

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

                    continue;

                }else{

                validscore[j] = scores[i];

                j++; 

                if (j > 2){

                   break;

                }   

            }

            }

            return validscore;

        } 

    }

    重新写了一遍 这回对了

  • 慕瓜0177543
    2019-11-27 19:53:53

    带参方法:说明该方法在使用时要特别指定一些限制或要求,比如add(int x,iny),就是计算x+y的值,x,y在术语上称为形参,所以你使用时,要告诉他x,y都是什么,而这一做法在术语上称为传参,比如add(5,6),而具体5,6,就是你具体传入的值,在术语上称为实参。
    int add(int x,iny),前面的int就是说明这个方法有返回值,类型是int的。说明这个方法要将计算结果通过返回一个int值来告诉你,你在使用的时候,需要接收这个返回值,比如int a=add(5,6)。