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

第三位有两个的话?

有同学考虑过第三位有两个分数相同的情况吗?这种情况该怎么写呢?

正在回答

2 回答

import java.util.Arrays;

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args){

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

HelloWorld hello=new HelloWorld();

hello.chenJi(scores);

}

    

    //定义方法完成成绩排序并输出前三名的功能

    public void chenJi(int [] cores){

int a=0;

int b=0;

Arrays.sort(cores);

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

for(int i=cores.length-1;i>=0;i--){//排除大于100和小于0的数.

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

continue;

}else if((b<3)||(cores[i+1]==cores[i])){//判断是否满足前三名,如果第三名有两个相同的成绩,就把相同的成绩也打印出来.如果没有相同成绩就只打印3个成绩.

a=cores[i];

b++;

System.out.println(a);

}else{

break;

}

}

}

   

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

苍蝇拍拍 提问者

非常感谢!
2017-05-28 回复 有任何疑惑可以回复我~
public class helloWorld {
	public static void main(String[] args) {
		// 定义一个整型数组,保存成绩信息
		int[] scores = { 89, 89, 64, 91, 73, 89, 73};
		helloWorld hello = new helloWorld();
		hello.thirdCore(scores);
	}
	public void thirdCore(int[] scores){
		Arrays.sort(scores);
		int count = 1;
		for(int i=(scores.length-1);i>=0;i--){
			if(scores[i]<0 || scores[i]>100){
				continue;
			}else{
				if(scores[i] == scores[i-1]){
					System.out.print("索引为"+i+":"+scores[i]);
				}else{
					count++;
					System.out.println("索引为"+i+":"+scores[i]);
				}
				if(count>3){
					break;
				}
			}
		}
	}
}


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

苍蝇拍拍 提问者

同学你的代码也很棒,我还以为可以两个都采纳。。抱歉了,谢谢你!
2017-05-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165172    人
  • 解答问题       17581    个

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

进入课程

第三位有两个的话?

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