while1. 使用循環對數字求和

讓我們編寫一個程序,從鍵盤讀取數字(只要用戶輸入看起來像數字的東西),然後在屏幕上顯示它們的總和。下面是此類程序的代碼(我們只顯示方法內部的代碼main)。

代碼 解釋
Scanner console = new Scanner(System.in);
int sum = 0;
while (console.hasNextInt())
{
   int x = console.nextInt();
   sum = sum + x;
}
System.out.println(sum); 
創建一個Scanner對像以從控制台讀取數據。
我們將把數字的總和存儲在sum變量中。
只要從控制台輸入數字,

就將下一個數字讀入x變量。
添加x到數字總和(sum變量)。

在屏幕上顯示計算的總和。

while2. 使用循環查找最大數

我們的第二個程序也會從鍵盤讀取數字(只要用戶輸入類似數字的東西),但現在我們要顯示輸入的數字中的最大值。下面是此類程序的代碼(我們只顯示方法內部的代碼main)。

代碼 解釋
Scanner console = new Scanner(System.in);
int max = 0;
while (console.hasNextInt())
{
   int x = console.nextInt();
   if (x > max)
     max = x;
}
System.out.println(max); 
創建一個Scanner對像以從控制台讀取數據。
max變量將存儲數字的最大值。
只要從控制台輸入數字,

就將下一個數字讀入x變量。
比較xmax。如果x大於max
則更新最大值。

在屏幕上顯示最大數量。

這裡有一個有趣的點:如果從鍵盤輸入的所有數字都是負數,那麼程序會顯示0. 這是不正確的。

因此,max 變量的初始值應盡可能小。

選項1:

您可以將其設置為等於-2,000,000,000(負二十億)。這不是一個糟糕的開始。

選項 2:

分配盡可能小的int值。為此有一個特殊的常量Integer.MIN_VALUE

選項 3:

更好的是,max使用輸入的第一個數字進行初始化。這是最好的選擇。但這只有在任務條件要求用戶至少輸入一個數字時才有效。