Ranking
題目說明
設計一程式,讓使用者輸入數字,並存放於ArrayList中,直到使用者輸入的不是數字即結束輸入,最後將前三大的數值分別改為(由大到小): 1st
, 2nd
, 3rd
後輸出ArrayList中的值。
請參考下方的範例程式碼。(變數名稱可以不一樣)
import java.util.ArrayList;
import java.util.Scanner;
public class Rank {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<Integer> nums = new ArrayList<>(); // 記錄輸入的數字(Int)
ArrayList<String> rank = new ArrayList<>(); // 記錄排名(String)
Scanner input = new Scanner(System.in);
String[] s = { "1st", "2nd", "3rd" };
//TODO:請補齊剩下的程式碼。
//提示:將輸入的數字存入Arraylist nums、rank中,呼叫maxIndex方法找出最大值的位置,利用set將最大值替換成排名。
}
public static int maxIndex(...) {
//TODO:傳入Arraylist nums的內容,用maxIndex方法找出最大值的位置,最後回傳。
//提示:最後記得將最大值替換成最小值,以找出第二大的值。
}
}
輸入
數值(至少要輸入三個數字,且不會有負數和重複值)
輸出
將前三大數值更改為1st
, 2nd
, 3rd
後,輸出ArrayList中的值
測試資料0 輸入
1 3 5 2 .
測試資料0 輸出
1 2nd 1st 3rd
測試資料1 輸入
6 7 2 5 9 1 3 .
測試資料1 輸出
3rd 2nd 2 5 1st 1 3
Comments