只输出前三名 不知道哪里不对 求指点

来源:7-1 编程练习

慕斯4840584

2015-04-01 00:43

import java.util.Arrays;



public class HelloWorld {


public static void main(String[] args) {

// TODO 自动生成的方法存根

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

 

       Arrays.sort(scores);

       

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

           int a=0;

           a++;

           System.out.println("第"+a+"名"+" "+scores[i]); 


}


}

}


写回答 关注

3回答

  • 迷茫_先森
    2015-04-01 11:20:34

    循环第一次 i= scores.length,然后scores[i]

    此时数组就越界了

    慕斯4840... 回复迷茫_先森

    原来如此 感激不尽感激不尽

    2015-04-04 15:54:04

    共 3 条回复 >

  • 慕移动3732247
    2015-04-01 09:10:58

    你的意思是不是只输入排好序的前三名:

    public class Hello {


    public static void main(String[] args) {

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

    sort( scores);

    }

    static void  sort(int scores[]){

    int temp=0;

    for (int i = 0; i < scores.length; i++) {

    for (int j = 0; j < scores.length-1; j++) {

    if(scores[j]<scores[j+1]){

    temp = scores[j];

    scores[j]=scores[j+1];

    scores[j+1]=temp;

    }

    }

    }

    for (int i = 0; i < scores.length-4; i++) {

    System.out.println(scores[i]);

    }

    }

    }



  • 慕码人4886393
    2015-04-01 08:59:03

    scores[i],   i 是从0开始的!  "scores.length"值为7,scores[i] ,i最大值为6!

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165172 学习 · 17581 问题

查看课程

相似问题