簡體   English   中英

Java 使用 do-while 循環

[英]Java Using do-while loop

使用 do-while 循環,編寫一個程序,要求輸入五 (5) 個 integer 數字。 確定最高值和最低值。 考慮樣本 output。

Output:

Enter 1st number: 5
Enter 2nd number: 10
Enter 3rd number: 2
Enter 4th number: 50
Enter 5th number: 30

The highest value is: 50
The lowest value is: 2

老實說,我不知道如何回答這個問題,因為我的教授還沒有討論過使用 do while 循環來確定數字。 到目前為止,這就是我所擁有的

編輯:我最終得到了這段代碼,但我不知道如何讓第 1、2、3、4、5 出現。

enter code here

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner inp=new Scanner(System.in);
    int a = 1;
    int i =1;
    int highestNumber=0;
    int lowestNumber=0;
    
    while (i < 5) {
        System.out.println("Enter " + a++ +" number ");
        int numbers = inp.nextInt();
        
    
        if(highestNumber==0) {
            highestNumber = numbers;        
        }else if(numbers>highestNumber) {
            highestNumber=numbers;          
        };
        
        if(lowestNumber==0) {
            lowestNumber = numbers;     
        }else if(numbers<lowestNumber) {
            lowestNumber=numbers;           
        };
        
        System.out.println("The Highest Number is: " + highestNumber);
        System.out.println("The Lowest Number is: " + lowestNumber);
    
    }
}

在問這樣的問題之前,請做一些研究。 While 循環在整個 inte.net 上都有很好的文檔記錄。 也就是說,這應該可以工作(雖然還沒有測試過):

public static void main(String[] args) {
    Scanner inp=new Scanner(System.in);
    int[] numbers = new int[5];
    int i = 0;
    
    while (i < numbers.length) {
        System.out.println("Enter number " + i);
        numbers[i] = inp.nextInt();
        i++;
    }
}

一些作業改進以滿足要求:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        String[] nums = new String[] {"1st", "2nd", "3rd", "4th", "5th"};

        try(Scanner inp = new Scanner(System.in)) {

            int min = Integer.MAX_VALUE;
            int max = Integer.MIN_VALUE;
            
            int i = 0;
            do{

                System.out.print("Enter " + nums[i] + " number: ");
                int num = inp.nextInt();

                if(num < min) min = num;
                if(num > max) max = num;

            } while(++i < nums.length);

            System.out.println("\nThe highest value is: " + max);
            System.out.println("The lowest value is: " + min);

        } catch(InputMismatchException e) {
            e.printStackTrace();
        }
    }
}

暫無
暫無

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

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