簡體   English   中英

Java保持最高數字

[英]Java keeping highest number

int number = 0;
    int score = 0;



    while (true) {

        Scanner input=new Scanner(System.in);

        System.out.println("Please enter mark :");
        number = input.nextInt(); 


        Scanner mark=new Scanner(System.in);
        score = mark.nextInt();

         if (number > score ) {
             System.out.println("Highest mark:" + number);
         }

        else if (number > 100) {
            System.out.println("Invalid enter number 0-100");
         }

        else if
            (number < 0){


            System.out.println("Invalid enter number 0-100");

            if(input.equals("quit")){
                break;

您好,我想知道學生輸入數字后如何保持最高分和最低分。 並且只允許輸入 0-100 之間的數字。 謝謝

您將需要兩個變量來跟蹤最高和最低分數。 由於您希望分數介於 0 和 100 之間,您可以分別給出兩個變量 -1 和 101 的起始值:

int max = -1;
int min = 101;

-1不是一個可到達的值,它低於所有可到達的值,因此給定范圍內的任何值都大於它,這使得它非常適合作為max變量的起始值。 如果它從 101 開始,則范圍內沒有更大的值,因此變量不會改變。 例如,如果變量為 50,則 0-50 范圍內的值不會大於 50,它們將被遺漏。 可以執行相同的邏輯來了解為什么我為min變量選擇值101


現在您可以輸入標記並跟蹤最高和最低的標記:

Scanner sc = new Scanner(system.in);
while (true) {
    int mark = sc.nextInt();
    if (mark > max) {
        max = mark;
    }
    if (mark < min) {
        min = mark;
    }
}

現在最高和最低標記將分別保存在maxmin變量中。


要實現退出邏輯,您可以讓用戶輸入一個超出范圍的值,這將從循環中退出:

if (mark < 0 || mark > 100) {
    break;
}

這個 if 語句必須放在檢查最高和最低標記之前,因為您不需要保留這些值的 trak。


這是最終的代碼:

int max = -1;
int min = 101;

Scanner sc = new Scanner(System.in);

while (true) {
    System.out.println("Enter a value between 0 and 100. If the number is outside this range, the entering will stop.");
    int mark = sc.nextInt();

    //Exit logic
    if (mark < 0 || mark > 100) {
        //Closing the Scanner object (Not necessary but recommended)
        sc.close();
        break;
    }

    //Comapring
    if (mark > max) {
        max = mark;
    }
    if (mark < min) {
        min = mark;
    }
}

要更新分數,您只需要更新您的分數。

if (number > score ) {
             score = number;          //update your score
             System.out.println("Highest mark:" + number);
         }

你應該能夠自己解決這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM