猿问

public int sort( int[] scores )这段代码里为什么是int[]而不是直接int scores呢?

import java.util.Arrays;

public class HelloWorld {

    public static void main(String[] args) {

HelloWorld hello = new HelloWorld();

int[] scores={79,52,98,81};

        

int count= hello.sort(scores);   第二个疑问,为什么这个地方参数不是 scores.length呢,因为count是一个int整数型数据,                                                         scores.length也是一个整数型数据啊?

        

System.out.println("共有"+count+"个成绩信息!");

}

    

public int sort(  int[] scores   ){   //第一个疑问,已经初始化并定义了scores数组,为什么这个地方还会出现int[] scoes

Arrays.sort(scores);

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

return scores.length;


        

}

}


罪与罚3926521
浏览 1627回答 3
3回答

望远

//第一个疑问,已经初始化并定义了scores数组,为什么这个地方还会出现int[] scoes这是方法调用里的实参和形参,public int sort(  int[] scores   )这里的是形参,不要求和实参名一致,但是数据类型是一致的,你可以试试改动一下实参名 //第二个疑问,为什么这个地方参数不是 scores.length呢,因为count是一个int整数型数据, scores.length也是一个整数型数据啊?让我们来看看你的方法的定义:public int sort(  int[ ] scores   ){   Arrays.sort(scores); System.out.println(Arrays.toString(scores)); return scores.length;      }这是方法sort的定义,那么参数要求我们传入一个int[],那么你传入scores.length就是一个int类型,数据类型不匹配,禁止传参。int count= hello.sort(scores);所以在调用的时候传入的是scores,这是一个int[]类型的数据,合法。

MR帽子先生

int[]scores表示定义一个空的数组 scores,而int scores我根本就不知道是撒子意思,定一个整形?没用啊,要的是数组。希望对你有帮助,祝您学习愉快!有问题可以继续问我。
随时随地看视频慕课网APP

相关分类

Java
我要回答