2013-10-30 57 views
-4

我創建一個程序,允許用戶爲自己想,直到他們進入0。一旦他們進入0控制檯diplays最高和最低的進入儘可能多的數字獲取最小最大號碼輸入值。爪哇 - 用Math.max和Math.min

import java.util.Scanner; 
public class NumInput { 
    public static void main(String [] args) { 
    Scanner s = new Scanner(System.in); 
    for (;;) { 
     System.out.print("Enter a Value: "); 
     int val = s.nextDouble(); 
     if (val == 0) break; 
     else continue; 
    } 

    } 
} 

我不知道如何獲得最大值和最小值。我知道我應該使用Math類,但我不知道如何將它放入我的代碼中。

+0

這就是我所說的重複。 – Maroun

+1

你不會開始構思,「我知道我應該用錘子,我只是不知道該怎麼做」。編程也是一樣:如果你的思想被卡在「我必須使用數學課」(這是錯誤的),你將永遠找不到答案。如果你想成爲一名程序員,首先解決問題,而不是假設的解決方案。 – fdreger

+0

我試圖獲得額外的幫助,沒有人回覆,所以我想我會提出一個新問題。對不起,重複。 – user2934299

回答

0

你不需要Math.min()也不Math.max(),可以動態地確定極值:

public class NumInput { 
    public static void main(String [] args) { 
    int min = Integer.MAX_VALUE, max = Integer.MIN_VALUE; 
    Scanner s = new Scanner(System.in); 
    do { 
     System.out.print("Enter a Value: "); 
     int val = s.nextInt(); 
     if (min > val) min = val; 
     if (max < val) max = val; 
    } 
    while (val == 0); 
    System.out.println(min + " " + max); 
    } 
} 
1

你必須決定是否要使用整型,長或別的東西。如果你使用int值,那麼你應該使用Integer.MIN_VALUE和Integer.MAX_VALUE。

0

有幾種方法可以做到這一點,但一個是初始化兩個變量,說的最小值和最大值,並指定用輸入的第一個值初始化它們。之後輸入的每個值都將被檢查以查看是高於最高還是低於最小值。如果高於最大值,則將新值分配給最大值。如果低於將新值分配給最小值。如果需要,可以使用Math.max和Math.min進行比較。

你也可以從所有的答案成一個TreeSet這自然會下令所有元素,並採取第一和最後一個元素分別作爲最小值和最大值。