2016-11-23 44 views
-2

嘗試打印出Java中沒有數組的最大和最小50個隨機數。它不工作,我很困惑。有人可以幫忙嗎?謝謝!如何在沒有數組的情況下找到最大和最小的50個隨機數?

public static void main() { 
    int smallest = 0, biggest = 0; 
    for (int i = 0; i < 50; i++) { 
     int randomNum = (int)(Math.random() * 100) + 1; 
     System.out.println(randomNum); 
     smallest = randomNum; 
     if (randomNum > biggest) { 
      biggest = randomNum; 
     } 
     if (randomNum < smallest) { 
      smallest = randomNum; 
     } 
    } 
    System.out.println("Smallest was " + smallest + ", biggest was " + biggest); 
} 
+2

請解釋一下:它在哪些方面「不工作」。 –

+0

刪除此'最小= randomNum;' –

+3

「它不工作」 - 這樣的聲明本身是無用的,否則你不會問。請以_方式說明它不起作用,即您期望什麼,取而代之的是什麼?除此之外,通過調試程序逐步執行代碼會很快發現問題。 – Thomas

回答

1

你應該初始化最小到Integer.MAX_VALUE和最大到Integer.MIN_VALUE,然後在你的循環,你只需要刪除smallest = randomNum;,也將努力

+1

有沒有其他的方法來初始化它們?我們的老師還沒有教過我們關於Integer.MAX/MIN_VALUE的信息,他很可能不希望我們這樣做。 – LifeMushroom

+0

Math.random()* 100給你一個0到100之間的隨機數,所以初始化你的最小值爲100,最大值爲0. – bwat

+0

但是一般來說,當搜索最小值和最大值時,總是將它們初始化爲相反的最大值,這樣你就知道你會讀到的任何價值,它會比你最小,並且比你的最大值大。 – bwat

-1

我你的問題出在哪裏是主要的,它沒有 公衆static void main(String [] args)

+0

所以只是試圖改變你的公共靜態無效主要()公共靜態無效的主要(字符串[]參數),然後它將工作 –

+0

鷹眼。但是有更多jal j。 –

+0

沒有提到程序根本沒有運行,所以看起來'主要'簽名不是問題。更可能的是,這是實施中的邏輯問題。 –

相關問題