Ranking


Submit solution

Points: 45 (partial)
Time limit: 1.0s
Memory limit: 256M

Authors:
Problem type

題目說明

設計一程式,讓使用者輸入數字,並存放於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

There are no comments at the moment.