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; }}
3 回答
已采纳
望远
TA贡献1017条经验 获得超1032个赞
//第一个疑问,已经初始化并定义了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帽子先生
TA贡献245条经验 获得超106个赞
int[]scores表示定义一个空的数组 scores,而int scores我根本就不知道是撒子意思,定一个整形?没用啊,要的是数组。
希望对你有帮助,祝您学习愉快!有问题可以继续问我。
添加回答
举报
0/150
提交
取消