Yahoo奇摩知識+ 將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+ 網站將會轉為唯讀模式。其他 Yahoo奇摩產品與服務或您的 Yahoo奇摩帳號都不會受影響。如需關於 Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

小偉 發問時間: 電腦與網際網路程式設計 · 1 0 年前

JAVA 陣列問題 最小值 最大值 反轉

請問java要如何寫下面的題目,不能用物件導向功能

將使用者輸入的數值存入陣列,並將陣列數值反轉,且建立getmax()和getmin()的方法,分別取得陣列的最大與最小值。如使用者輸入10個數值: 32 12 45 85 43 10 50 48 20 22 反轉後之陣列:22 20 48 50 10 43 85 45 12 32 最大值:85 最小值:10

1 個解答

評分
  • 志明
    Lv 5
    1 0 年前
    最佳解答

    import java.util.Scanner;

    public class Test {

    static int[] number = new int[10];

    static int[] transNumber = new int[number.length];

    public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);

    for (int i = 0; i < number.length; i++) {

    System.out.println("請輸入任意數字:");

    try {

    number[i] = scan.nextInt();

    } catch (Exception e) {

    number[i] = 0;

    }

    }

    Test t = new Test();

    for (int i : number) {

    System.out.print(i + "\t");

    }

    System.out.println();

    transNumber = t.transport(number);

    for (int i : transNumber) {

    System.out.print(i + "\t");

    }

    System.out.println();

    int max = t.getMax(number.length);

    System.out.println("最大值為:" + max);

    int min = t.getMin(number.length);

    System.out.println("最小值為:" + min);

    }

    private int[] transport(final int[] number) {

    int[] temp = new int[number.length];

    for (int i = number.length - 1; i >= 0; i--) {

    temp[9 - i] = number[i];

    }

    return temp;

    }

    private int getMax(final int length) {

    if (length == 1) {

    return number[0];

    } else {

    return Math.max(number[length - 1], getMax(length - 1));

    }

    }

    private int getMin(final int length) {

    if (length == 1) {

    return number[0];

    } else {

    return Math.min(number[length - 1], getMin(length - 1));

    }

    }

    }

    參考資料: mySelf
還有問題?馬上發問,尋求解答。