Win_me
2016-07-07 19:55
import java.util.Arrays;
public class HelloWorld {
//完成 main 方法
public static void main(String[] args) {
int [] h={90,98,89,78,68,0};
HelloWorld hello=new HelloWorld();
int []g=hello.getScores(h);
System.out.println("考试成绩的前三名为:");
for(int d:g){
System.out.println(d);
}
}
//定义方法完成成绩排序并输出前三名的功能
public int[] getScores(int[]a){
int []b=Arrays.sort(a);
int []c=new int[3];
for(int i=0;i<c.length;i++){
if(b[i]<100&&b[i]>0)
c[i]=b[i];
else
c[i]=0;
}
return c;
}
}
你根本没按提示做按。。。
package com.helloworld; import java.util.Arrays; public class HelloWorld { //完成 main 方法 public static void main(String[] args) { int[] scores={89,-23,64,91,119,52,73}; HelloWorld hello=new HelloWorld(); hello.max(scores); } //定义方法完成成绩排序并输出前三名的功能 public void max(int scores[]){ //nums是用来看是否到了3个 int i,nums=0; //将scores数组升序排序 Arrays.sort(scores); //使用 for 循环遍历数组中的元素,由于要输出的是前三名成绩,所以从后往前遍历,即倒序遍历 for ( i = scores.length - 1; i >= 0; i-- ) { //如果数字不符合条件,continue跳过循环 if(scores[i]<0||scores[i]>100){ continue; } nums=nums+1; System.out.println(scores[i]); if(nums>=3){ break; } } }
这是我的方法,希望采纳。
public class HelloWorld { //完成 main 方法 public static void main(String[] args) { int[] scores = new int[]{89,-23,64,91,119,52,73}; sortArray(scores); } //定义方法完成成绩排序并输出前三名的功能 public static void sortArray(int[] arr){ int temp = 0; for(int i = 0 ; i< arr.length; i++){ if(arr[i]<0 || arr[i] > 100 ){ arr[i] = 0; } } for(int i = 0 ; i < arr.length;i++){ for (int j = i + 1 ; j < arr.length ; j++){ if(arr[i]<arr[j]){ temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } for(int i = 0 ; i< arr.length; i++){ if(i < 3 ) System.out.println(arr[i]); } } }
这是我写的答案,可能有点小麻烦吧,你可以看一下。如果不是因为不知道怎么写,而是因为不知道你的为什么会出现问题的话,可以私聊我,我帮你解释一下。
Java入门第一季(IDEA工具)升级版
1165174 学习 · 17581 问题
相似问题