恬然自得.活在當下: 2011

2011年7月22日 星期五

(轉貼)雞店老闆的懺悔錄

這篇文章是轉貼的,述說的是曾經賣過炸雞的老闆,他製作的真實歷程,我想這份資料很難得,所以在此分享給各位知道。其實大家都知道吧?這些東西都一定有加工物的,但是裡面加了什麼我們卻不得而知,也只有炸雞店老闆分享給我們才能夠知道,就請大家仔細看完這篇文章吧。

2011年7月14日 星期四

短片_執行長的科學素

分享一些短片,林俊龍醫師以科學的方式,說明蔬食與肉食的差別,可以知道肉食對於人體的壞處真的有很多,且人體的設計上也以蔬食為適合選擇。不知各位讀者對於保健身體的議題是否有興趣呢?如果有認識我的讀者知道我目前的飲食習慣已改為蔬食,有不少人也問說是不是改蔬食就長命百歲,或是為什麼有人吃肉也是好好的之類的問題。

對我來說,蔬食最主要的理由不是因為吃了就一定會更健康,可以活得更久,畢竟人的生命只在一呼一吸之間,下一口吸不過氣就掰了。但我想這樣的理由還是足夠讓大多數人都有考慮蔬食吧,許多已罹患重大疾病的患者,因改變生活跟飲食習慣,讓原本難以完好的疾病,漸漸好轉直至康復,這就是理由之一,蔬食可以減少人們的病痛。如果各位有興趣照顧好自己身體的話,底下的影片可以讓大家參考。


執行長的科學素_人體構造篇
人的身體其實設計是草食動物,不是肉食動物。肉食動物都有兩個很明顯的犬齒,要撕裂動物的牙齒;我們有的是臼齒,是用來磨植物的纖維。一般來說,肉食很容易消化,不需要很長的腸子來消化它,但是我們人類的腸子相當的長,植物性的食品容易經過我們腸胃道的消化來吸收。我們現在改變成肉食的話,就會產生種種的問題,它滯留在我們腸胃道的時間太長,你吸收過度的話就造成營養過剩。人的身體結構跟生理變化,跟我們素食與葷食有非常密切的關係。



2011年7月7日 星期四

蔬菜水果營養表

好久沒有撰寫這個專欄的文章了,哈,整個學期新增的文章看來,全都跟程式有關@@”實際上網誌的文章量,應該要兩者並進才是,總之現在暑假就多寫些文章分享吧。趁這篇文章也來預告一下,暑假應該會把之前暫停的Android專欄繼續撰寫,但是有考慮換個方向,網路上現在寫教學文的人好多呀!如果再寫出類似的教學文就顯得有抄襲之感,敬請期待新的文章吧0.0

回到正題,本篇想和大家分享蔬菜和水果所富含的營養素,我相信這對於有關照自己飲食的人能給予很大的幫助,畢竟有些營養素的攝取是必須的,如果每天都隨便饅頭、泡麵、罐頭食品,想必未來會花更多時間在看醫生上面。底下就看表格吧。

2011年6月21日 星期二

[考前複習]使用BufferedReader與BufferedWriter練習檔案存取

今天下午的總複習順利落幕了,雖然途中有班導出現,算是一點小插曲。很難得有這麼一次在多人面前用白板教學,看見大家帶著疲累的身體,卻還是精神奕奕地聽我說著枯燥的Java(或者我說的也很枯燥),真的很感動XD 感謝大家驚人的意志力和用心。

所以今晚就回饋這份程式碼禮物@@”另外還有一份是平時都會整理給我有教過的人用的複習卷,因為以往都是少少的人而已,所以我都單獨給,這次比較多人,就打包起來上傳在網路空間了,這是限時的禮物~等網路空間自動刪除便不再補檔。

其實這個範例不算太難,因為用BufferedReaderBufferedWriter寫起來就是就是簡潔有力! (如果不用的話還要宣告陣列,以及轉型的問題)
Java程式的設計師一直致力於替程式設計人員創造一個好讀好寫的程式,看來這點也要感謝他們吧。


程式碼:

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;


public class s11967046 {

 public static void main(String[] args) {
  FileReader reader = null;
  FileWriter writer = null;
  BufferedReader br = null;
  BufferedWriter bw = null;
  String data;
  
  try {
   //建立物件,並且裝上Buffer
   reader = new FileReader("A.txt");
   writer = new FileWriter("B.txt",true);
   br = new BufferedReader(reader);
   bw = new BufferedWriter(writer);
   
   //使用while迴圈逐行讀取資料
   //再利用write將data儲存資料
   while((data = br.readLine()) != null){
    bw.write(data);
    //每次會讀取一行,所以幫它換行
    bw.newLine();
   }

  } catch(FileNotFoundException e){
   System.out.print("檔案找不到");
   
  } catch (IOException e) {
   
  } finally{
   try {
    //記得兩個都要關閉
    br.close();
    bw.close();
   } catch (IOException e) {

   }
   
  }
 }

}


2011年6月14日 星期二

[加分]Java Swing練習FileNameFilter搜尋文件

功課這次是加分題,所以同學們擔心考試太差的話,這個功課也要交唷!FileNameFilter這個類別在Java Swing的官方文件也有介紹到,我想各位同學有興趣的話,可以參考:

大概在中間地帶,副標題寫著Filtering the List of Files。必須要宣告一個類別去實作FilenameFilter,必須要去覆寫accept方法,在裡面撰寫自己的商業邏輯。而如果要能夠搜尋副檔名的話,只要透過Filelist方法中放入FilenameFilter,就會自動把檔案路徑給予Filter,然後再把檔案中的副檔名擷取出來,進行字串的比較即可。

擷取副檔名可使用String.lastIndexOf(‘.’);
他就會取出一個字串中最後一個小數點的位置(通常最後一個小數點就是副檔名的那一個)。之後再使用String.substring和迴圈去抓出副檔名名稱,如此一來就能成功判斷。

當然我用了比較簡單的方法,String.endsWith(String suffix);

這個方法是取抓字串是以suffix作為結尾,則回傳truefalse。但是我上一個講的方法是Java官方公布出來的唷,我想工程師們一定有某種考量才會寫的比較麻煩,而我用的方法也許只能在比較簡單的程式上執行,只能說我還是新手XD不知道他們考量的是什麼。

按下「Launch」鈕,可直接操縱此次功課的程式,歡迎試試看唷!
P.S.家裡用IE可以成功執行。


不好意思,這次執行會沒辦法看見預定的結果,似乎是因為jar檔上傳在伺服器上,所以沒辦法搜尋本機端的資料夾。不過我想這應該也是我技術不足所造成><"如果有另外研究到方法,再寫看看嘍-"-

2011年6月7日 星期二

[功課]Java Swing使用KeyListener更有即時性..第三次修正!

(第三修:真慘-"-這個作業在理解上的誤差,導致我已經第三次修正了,請同學們趕緊改回來QQ)


這次老師的要求,感覺比較具有即時性,至少當你在打入數字和打勾時,就能馬上計算出價錢;前幾次功課也特別寫了一個「即時運算」的功能,沒想到這次功課就出了一個類似的題目!

另外我在查找資料的過程,也搜尋到一個不錯的網誌,分享給各位參考參考;寫這個教學網誌的Blog主也真是夠好心呀!看到他寫的程式碼也真的讓我多學到很多東西。

程式語言教學誌:
程式語言教學誌--Java 入門指南 - GUI 的基本概念:
程式語言教學誌-- Java 入門指南 - 排版管理員:
程式語言教學誌-- Java 入門指南 – GridBagLayout
之後還有很多很多系列的文章就請大家自行前往嘍~~

按下「Launch」鈕,可直接操縱此次功課的程式,歡迎試試看唷!
P.S.家裡用IE可以成功執行。

[功課]Java Swing練習使用KeyListener

這次的功課,老師最主要是讓我們練習寫鍵盤事件,可是老師又沒有在智慧大師上貼範例- 請大家同樣去看我之前分享的網址,上面都有教學唷,當然大家也可以直接連結到以下網址:http://download.oracle.com/javase/tutorial/uiswing/events/index.html
 
我覺得大家真的可以多玩玩Swing,個人是覺得還滿有趣的,至少像是當時在學VB一樣,會去排版一些元件,或是隨興加加自己喜歡的功能XD 這一次我寫了兩個範例,因為重複性的Label還有程式碼很多,所以我利用陣列與迴圈的方式,節省了重複性的程式碼,請各位在觀看兩段程式碼就會發現差別了。

按下「Launch」鈕,可直接操縱此次功課的程式,歡迎試試看唷!
P.S.家裡用IE可以成功執行。

2011年5月31日 星期二

[功課]Java Swing練習CheckBox

同樣是一個差別度不大的功課,讓同學練習用一下CheckBox,只要使用isSelected就可以判斷CheckBox是否有被按下,另外CheckBox也有另一個監聽事件itemStateChanged,當按鈕發生變化時就會觸發,各位同學可以利用這個事件來發揮出更多不同的創意唷。
 
筆者自己初學Swing時,也都是看Java的官方文件,如果有還不知道的同學,趕快上去看看,先把上面介紹的元件都基本摸熟了,那你要考期末考應該是沒問題了XD不過這對於有興趣了解Swing的同學應該是不足的,這個時候真的要多去看一些書,就可以學到其他作者的想法,以後有東西會繼續跟大家分享。
http://download.oracle.com/javase/tutorial/uiswing/components/index.html

按下「Launch」鈕,可直接操縱此次功課的程式,歡迎試試看唷!
P.S.家裡用IE可以成功執行。

2011年5月29日 星期日

[功課]Java Swing練習TextField

這個功課大致上就多一個讓大家練習TextField的機會,其餘元件老師並沒有特別規定,所以同學們有興趣做其他元件的話,也歡迎去改寫。筆者本來在網誌上放的就是最符合老師規定的範例,所以算是相當簡單的東西,尤其是視窗程式設計,就是要發揮自己的設計理念,好好給它亂改一下才有趣阿XD

比方說顯示價格的地方,就可以產生出一張比較詳細的清單;或者多增加幾項功能,將物流費跟運費分開計算等等,而且使用者要是輸入不正確的重量,還會跳出訊息框來提醒使用者;不然在視窗背景跟按鈕上做點動態特效也是很有趣的東西,如果大家有心分享自己所學的話,請不吝於在留言上留下自己的寫法唷!

另外一個功課會在截止日期前一天再開放,雖然筆者文章都已經打好了,但這個網誌不只是要好心提供大家程式碼,而是希望大家在寫完程式後,或者遇到某些瓶頸時,來到筆者的網誌都能夠得到幫助,所以就認真去寫功課吧!

按下「Launch」鈕,可直接操縱此次功課的程式,歡迎試試看唷! 這個東西基本上是用Java Web Start的技術,大家有興趣可以參考這個網址了解一下:http://sofree.cc/java-web-start/
P.S.家裡用IE可以成功執行。

2011年5月24日 星期二

[功課]Swing練習Button,Label,Border

這個功課老師讓大家練習用Swing,當你點擊增加時會增加數字,然後當你點到十次之後,就要在Label上出現自己的姓名或學號,老師還要求使用BorderLabelPanel加上外框顏色,另外筆者還幫大家加了重置數字的功能。

如果同學們要修改的話,可以試著多加幾顆按鈕和功能,或是點擊十次後跳出訊息框,或者外框的顏色也可以弄得更有動態感,既然是設計視窗程式,也請大家多多思考有哪些設計方式吧!

2011年5月3日 星期二

[功課]泛型方法多載化練習

這次的功課,要將老師原本的範例檔GenericMethodTest改寫,多新增一個相同名稱的泛型方法,此方法要能夠將陣列中的某幾項元素抓取出來,並且當設定值不正確時,拋出一個InvalidSubscriptException例外錯誤。

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

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中,才能夠進行分頁的動作。