恬然自得.活在當下

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,另外變數名稱和註解內容也修改掉)

2011年3月22日 星期二

[功課] 撰寫三個執行緒的程式,觀察其執行順序的結果

這次比較特別,因為老師出的功課中,有一個計算若是用整數資料形態,會發生溢位的問題,事後詢問老師,對此有三種解決方式,以下會為大家說明一下。

貼上執行結果:
T1:1
T1:3
T2:100
T2:99
T2:98
T2:97
T2:96
T1:6
T1:10
T1:15
T1:21
...省略
T3:2.0
T3:8.0
...省略
T3:48.0
T3:384.0
...省略
T2:0
T1:903
T1:5050
T3:3.4942066022971404E75
T3:3.4243224702511974E77
T3:3.4243224702511973E79

2011年3月14日 星期一

[功課] 撰寫一多執行緒程式,利用實作Runnable來改寫

話說網誌沉寂太久了@@" 寫文章的時間都被我拿來分配做專題了,我想最近會抽出點時間來打文的,有功課的話還是會照常貼上程式碼,想辦法兼具文章品質和發文頻率XD


貼上執行結果:
Making 1
Making 2
Thread 1(5)
Thread 1(4)
Making 3

2011年1月1日 星期六

[分享] 01/01 ASP.NET C# 小問題分享

祝大家新年快樂~!

Q.使用AllowPagingGridView出現分頁效果時,出現 資料來源不支援伺服器端的資料分頁。的錯誤訊息?

A.這可能是因為你使用了DataReaderBinding GridView,後來發現必須使用DataSet,因為要DataSet來產生一個Table物件,然後將資料放在Table中,才能夠進行分頁的動作。

2010年12月31日 星期五

[分享] 12/31 ASP.NET C# 小問題分享

特別開了一個專欄,紀錄一些開發時遇到的問題,剛好課本都沒寫到就會特地寫在這個專欄中-"-記錄下來供日後可能有機會用到,亦或是對大家都有幫助。

Q.如何清除GridView上的資料?
A. Grid1.DataSource = null;
   Grid1.DataBind();