一個簡潔有好懂的答案
import java.util.Arrays;
public class HelloWorld {
? ? //完成 main 方法
? ? public static void main(String[] args) {
? ? ? ? HelloWorld hello = new HelloWorld();
? ? ? ? int[] scores = {89 , -23 , 64 , 91 , 119 , 52 , 73};
? ? ? ? hello.sort(scores);
? ? }
? ??
? ? //定義方法完成成績排序并輸出前三名的功能
? ? public void sort(int[] scores) {
? ? ? ? int[] newScores = new int[scores.length];
? ? ? ? //先取出scores里有效的成績,放到newScores里
? ? ? ? for (int i = 0; i < scores.length; i++) {
? ? ? ? ? ? if (scores[i] >= 0 && scores[i] <= 100) {
? ? ? ? ? ? ? ? newScores[i] = scores[i];
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? //對newScores進行排序
? ? ? ? Arrays.sort(newScores);
? ? ? ? System.out.println("考試成績前三名為:");
? ? ? ? //倒序循環newScores,輸出后三位即可
? ? ? ? for (int i = newScores.length-1; i < newScores.length; i--) {
? ? ? ? ? ? System.out.println(newScores[i]);
? ? ? ? ? ? if (i <= newScores.length-3) {
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? }
? ? }
2019-05-10
不錯,學到了,用數組有效值給新的數組賦值
2019-04-28
import java.util.Arrays;
public class HelloWorld {
? ??
? ? //完成 main 方法
? ? public static void main(String[] args) {
? ? ? ? int[] scores = {89,-23,64,91,119,52,73,120};
? ? ? ? HelloWorld hello = new HelloWorld();
? ? ? ? hello.showScore(scores);
? ? }
? ??
? ? //定義方法完成成績排序并輸出前三名的功能
? ??
? ? public void showScore(int[] scores){
? ? ? ? //排序
? ? ? ? Arrays.sort(scores);
? ? ? ? System.out.println("考試成績的前三名為:");
? ? ? ? int count = 3;
? ? ? ? //倒序循環取后三位有效數字
? ? ? ? for(int i=scores.length-1;i>=0;i--){
? ? ? ? ? ? //判斷符合條件的數字
? ? ? ? ? ? if(scores[i]>0 && scores[i]<100){
? ? ? ? ? ? ? ? count--;
? ? ? ? ? ? ? ? if(count>=0){
? ? ? ? ? ? ? ? ? ? System.out.println(scores[i]);
? ? ? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
? ? }
}