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

以这样的程序,如何输出前三名。

public static void main(String[] args) { 

    HelloWord hello=new HelloWord();

    hello.score();


}

public void score() {

int max=0;

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

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

if(score[i]>=0 && score[i]<=100) {

if(max < score[i]) {

max=score[i];

}

}

}

System.out.println("考试成绩的前三名为:");

for(int x=0;x<3;x++) {

System.out.println(max);

}

}

}


正在回答

4 回答

还有一种方法 改前面的for循环

代码如下:

public void score() {

int max=0;

int[] max=new int[3];  //取前3,因此数组长度为3

int count=0;  //该变量代表有效值次数

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

Arrays.sort(score); // 给数组score从低到高排序,第一行上边要有import  java.util.Arrays;

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

if(score[i]>=0 && score[i]<=100) {

if(max < score[i]) {

max=score[i];

}

改为:

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

continue;

}     //跳过无效值

count++;  //遍历一个有效值,有效值次数加1 

if(count>=3){

break;

}

max[count-1]=score[i];  //此时count的值为1到3,赋值之后的数组max中的值从大到小排列

}

}

System.out.println("考试成绩的前三名为:");

for(int x=0;x<3;x++) {


System.out.println(max);

}

}



0 回复 有任何疑惑可以回复我~

把max定义为数组

代码如下

public void score() {

int max=0; //这个注释掉

int[] max=new int[]; 

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

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

if(score[i]>=0 && score[i]<=100) {

if(max < score[i]) {

max=score[i];

}

改为:

max[i]=score[i];   //这时数组max里的值都为有效数值

}

}

Arrays.sort(max); //给数组max排序,从低到高

System.out.println("考试成绩的前三名为:");

for(int x=0;x<3;x++) {


System.out.println(max);

}

改为:

for(int x=max.length-1;x>max.length-4||x>=0;x--){   //输出数组后三个数值,若数组中的数值数量小于3,则输出全部数值

        System.out.println(max[x]);

}

}


0 回复 有任何疑惑可以回复我~
#1

慕瓜453346

max[i]=score[i]; //这时数组max里的值都为有效数值 这里max里面能为i吗??
2018-10-10 回复 有任何疑惑可以回复我~

你在if条件下给max赋了值,max就会一直变到循环结束,之后成为一个定值,比如一百以内最大值是89,max则在89时就不会变化。以至于在下面输出时候只能输出三个89。在这种前提下只是取出数组中一百以内的最大值,不能得到一百以内的前三大的值。

0 回复 有任何疑惑可以回复我~

按你这个自己定义的方法是无法输出前三名的,只能输出三次同一个最大值

0 回复 有任何疑惑可以回复我~
#1

慕粉4333732 提问者

那在这种前提现下,修改代码能否达到想要的结果?请指教
2018-10-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

以这样的程序,如何输出前三名。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信