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

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

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

罪与罚3926521 2017-06-23 23:42:42
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[]类型的数据,合法。

查看完整回答
1 反对 回复 2017-06-24
?
MR帽子先生

TA贡献245条经验 获得超106个赞

int[]scores表示定义一个空的数组 scores,而int scores我根本就不知道是撒子意思,定一个整形?没用啊,要的是数组。

希望对你有帮助,祝您学习愉快!有问题可以继续问我。

查看完整回答
1 反对 回复 2017-06-23
  • 罪与罚3926521
    罪与罚3926521
    非常感谢,结合上面大佬的讲解我已经非常明白了,之前走入了误区
  • 3 回答
  • 0 关注
  • 1626 浏览

添加回答

举报

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