恬然自得.活在當下: 04/01/2011 - 05/01/2011

2011年4月19日 星期二

[練習]將集合的順序打亂—洗牌

今天貼的是老師上一次上課,在課堂上給我們練習的部分,原意是將一個List中的內容打亂,每次執行結果都會出現不同的順序;老師使用了Collections中的shuffle方法,簡單地解決了這個問題,然而老師給我們時間練習無非也是讓我們思考屬於自己的方式。

底下分享我自己寫的部分,另外也歡迎平時有光顧我網誌的讀者,可以在底下留言自己的寫法。^-^


2011年4月14日 星期四

[功課] 使用LinkedList集合存儲25個…..修改版

真不好意思ˊ﹏ˋ,後來有人問過老師之後,才知道老師的本意,似乎也希望隨機的數字不要重複,而且還需要排序的樣子,所以特地打了一下修正版的程式碼@@"可能有緣人才看得到我這篇文章了,也許大家交完功課後就不光顧網誌了吧(?)

好吧,進入正題,原本隨機數字不重複,我自己有兩種作法,不過第二種作法感覺跟老師的本意不太切合,所以就提供大家最常見的寫法吧;另外今天在研究室也發現同學們的作法還滿有趣的,所以也特地寫出來供參考。

1.其實最常見的作法,應該就是每次隨機產生數字後,就去跟之前產生的數字做比對,如果有重複就再重新產生一次,沒有重複的話就加入集合中;通常一個迴圈和一個條件式就解決了。


2011年4月13日 星期三

[功課]輸入一數檢查其是否為質數,並做質因數分解

這次的功課老師出了兩個,第二個就是要做質因數分解,要先檢查該數是否為質數,如果是質數就直接顯示說是質數即可,若不是則必須顯示它有哪些質因數。

其實在實作上,我用的是比較簡單的方法,當然可以有人挑戰一下比較難的XD比方說先找出122483底下的所有質數,之後再用找到的這些質數來除以122483,如果能夠整除以0,那這個數就是122483的質因數;至於找出質數有一些數學公式可以用,維基百科上能看見一堆,可惜我絕對不是算數的料,那些公式都看不懂0.0”

貼上輸出結果:
請輸入一個數字,系統將判斷此數是否為質數:122483
質因數分解:53* 2311* 1
122483不是一個質數。它的質因數有[1, 53, 2311]

請輸入一個數字,系統將判斷此數是否為質數:174799
174799為一個質數。


2011年4月12日 星期二

[功課] 使用LinkedList集合存儲25個隨機0到100的數字並輸出總和及平均

我想應該沒有誤會老師的意思@@”就只是練習將隨機產生的數字,放入LinkedList中,並且計算25個數字的總和還有平均。

貼上執行結果:
隨機產生25個亂數:
[73, 67, 97, 62, 2, 85, 25, 7, 78, 86, 50, 98, 30, 67, 29, 42, 40, 85, 76, 55, 61, 87, 34, 87, 81]
並計算其總和跟平均如下:
總合為:1504.0
平均為:60.16

寫法僅供參考,畢竟Java才學了半年左右吧 >”<

(大家記得註解和程式碼要自己重新打過唷,工讀生會檢查;比方說將for迴圈改成whilewhile改成for,另外變數名稱和註解內容也修改掉)