2013年8月16日 星期五

輸入第二課

http://openhome.cc/Gossip/JavaGossip-V1/BufferedReader.htm

import java.io

pulic class Echo{
     public static void main (String [ ] args ) throws IOException {
          BufferedReader buf = new BufferedReader ( new InputStreamReader(System.in));
          System.out.print ("請輸入一列文字: ");
          String text = buf.readLind();
          System.out.println("你輸入的文字為: " + text );
       }
}


使用BufferedReader取得輸入
與Scanner差別在可以儲存有空格的字串

BufferedReader是java.io類別所提供的一個套件
所以必須先import java.io

使用BufferedReader物件的readerLine()必須先處理IOException例外
例外處理機制是java提供給程式設計人員捕捉程式中可能會發生錯誤,所提供的機制
現階段的處理IOException方法是在main()後面加上throws IOException

BufferReader在建構時接受Reader物件
讀取標準輸入串流時會使用 InputStreamReader
他繼承了Reader類別
使用以下方式為標準輸入串流建立緩衝區物件

BufferedRead bur = new BufferedReader (inputStreamReader(System.in))

new -->要建構一個物件為自己所用
BufferedRead buf -->宣告一個型態BuferedReader的物件變數







--------------------------------------------------------------------------
某R解釋:

exception的意思是說 我今天一個method(就是 void aaa(){…})
執行到一半突然發生了不能解決的問題 要直接跳出來
比方說aaa跑到第三行 結果第三行把咖啡打翻到server上了
所以第四行沒辦法跑 他只好終止執行aaa
然後丟一個exception告訴你這件事情
簡單地說
就是「發生了一些事情以至於method再也走不下去了 ,只好分手吧」的意思


2013年8月13日 星期二

Alicesoft Darcrows簡短心得

簡單的隨筆做個紀錄

這片是因為dlsite在特價而買下的
我完全不知道alicesoft有出這片說
1999年的作品

不過這片劇情怎麼這麼黑啊...

主角為了復仇回來自己的國家
因為他領軍被派去剷除回報只有100人的蠻族
結果到了現場才發現完全不是那個人數
最少有1000人
就只好立馬選擇撤退
但已經來不及了
他失去了自己的好友.過半的士兵以及左眼

回國之後又被國王侮辱說怎麼不死在戰場上而選擇回來
主角還記得一開始剛入伍的時候
國王說他們每個都是他的寶物
所以希望他們能盡心保衛國家
怎麼突然變臉了
於是主角逃走了,背負著逃走將軍的不名譽稱號

主角8年後回來復仇
其實鄰國攻打過來是因為主角的策動
目的就是為了逼迫在彈盡糧絕(國王昏睡中+戰爭)的王后被他說服去賣身
來賺取軍資軍雇用傭兵
也摸透第一王女的個性也會跟著下海

Ture End
主角發現原來國王會昏睡是因為宰相的下藥
但接著他就被誣陷為使國王昏睡與姦殺發現真相的隨身女侍的兇手
被捕下獄後
被脅迫去打最後一場防衛戰後

國王清醒
主角在大廳出現.身邊伴隨著兩位穿著裸露的第一與第二公主
向國王示威

"這都是向你的復仇,你的家人都被我享用調教過了"

接著國王惱羞下令士兵殺掉主角
受傷的主角就算死也不給國王屍體
就自己跳下樓自殺了

國王就靠著自己被成功調教的家人賣春賺錢向其他國家發動戰爭
可喜可賀可喜可賀 ..............||||

---------------------------------------------------------------------------

第一王女END

主角被捕下獄
第一王女準備要偷偷放主角走
希望主角能等她

她總有一天會繼承王位
到時候會改變國家的

五年後
從下藥中的國王雖然清醒
但確實的縮短了他的壽命

第一王女繼位
身邊則伴隨著一位獨眼的將軍
在新任女王去世之前
這個國家最少維持了40年的強盛繁榮

------------------------------------------------------------------------

8/14補完王妃結局

回收了王后的結局
王后發現自己愛上主角後.就殺了國王
主角自行逃獄摸到國王房間想說最少要拖國王一起下地獄
沒想到一進去就看王后一手拿著國王的頭顱一手拿著陀鐮(?)

"你...為什麼要這麼做"

"因為我愛上了你.愛到發狂.希望能背負跟你一樣的重罪.你能帶我一起走嗎"

兩人就逃亡到王后的故鄉國家

旁白 "雖然不知道這樣主角是否感到滿足.但逐漸取回失去的笑容卻是真實的"

15年後 新任的主角國家女王到訪(應該是第一王女吧)
主角與王妃被捕.王妃被當場殺掉.主角則被帶回去處刑
兩人的小孩則是行蹤不明

Alicesoft怎麼老是喜歡多加最後那段啊....囧
第一王女的end就像是好結局啊
為什麼王妃的就要這樣加最後的下場!

------------------------------------------------------------------------------

8/15補完第二王女end

主角被捕下獄打完等著處刑
某日有人摸黑進牢與主角交纏
不久士兵馬上發現有異狀跑進去看發生什麼事
結果是二皇女自己跑進去找主角需求

好不容易將兩人分開後
原本打算要將主角直接殺掉
二皇女卻在那邊鬧著要自殺

無奈之下
繼位的王后將兩人關在高塔中嚴密監控
至於主角的處刑則由替身代替

300個夜晚後

兩人坐在床邊

主角 "妳真的已經喪失正氣了嗎? 尤莉夏(二皇女名). "

尤莉夏 "....."

主角 "有時仍可以在妳眼中看見正氣...."

尤莉夏 "....我只是想一直在你身邊..永遠地.....不管如何都想陪在你身邊"
             "...這樣的我已經發狂了吧...."

主角 "......"

尤莉夏 " 你寂寞嗎..? 庫洛多(主角名) "

主角 "...不 "

尤莉夏輕靠在主角肩頭微微地泣訴起來


雖然這次鄰國被打退了
但在幾年恢復國力之後
又再次燃起了戰火
這次...救國的獨眼將軍沒有再出現




2013年8月12日 星期一

學習輸入

http://openhome.cc/Gossip/JavaGossip-V1/UserInput.htm

public class Hwlloworld{
    public static void main (String[] args)
{
         Scanner scanner = new Scanner (System.in);
         System.out.println ("Please enter your name: ");
         System.out.printf ("Hello %s!", scanner.next( ));
}

Scanner需大寫

-----------------------------------------------------------

Scanner scanner = new scanner (System.in);

Scanner是指輸入端
java需要輸入端

new是指產生
java絕大多數物件都需要產生

所以上述的意思就是
Scanner輸入了scanner產生了新的scanner
而輸入的內容放在System.in

或者這樣解釋
有個Scanner叫做scanner
這個scanner是個新的接在System.in的Scanner

所以也可以寫成

Scanner a = new Scanner (System.in);

----------------------------------------------------------

%s的意思是formatter placeholder
代表一個字串
這是formatter系列才有用的東西. print"f"  <---

所以這個的意思是

Hello! [這邊要印一個字串]   <---跟編譯器說這件事情

後面就會與編譯器說,那個東西就是 scanner.next()
scanner.next()是指他會去找你輸入的內容(System.in)

新手註記

線上編譯
http://ideone.com/

新手教學
http://openhome.cc/Gossip/JavaGossip-V1/

----------------------------------------------------

定義的public calss helloworld
public要小寫
大寫不行

System.out.print(" ");
System開頭要大寫
小寫不行

print \ printf \ println 三個不同的意思
print --> 輸出
printf ---> 照格式輸出
println ---> 輸出斷行

println = print + \n
所以也可以這樣寫
print(" test! \n ");
就可以輸出斷行
要輸出\n的話就寫成\\n
變成print("test! \\n");

\\可以這樣解釋
第一個 \  ->後面這個是命令
第二個 \  ->這個命令就是代表印出一個 \

\n的意思就是
\ ->後面是命令
n的意思是跳一行

第一課

初學很不習慣,總之先做筆記
自學需要蠻努力的閱讀

---------------------------------------------------

public class Helloworld {


}

class定義類別
類別的名稱是Helloworld
與編譯的主檔名Helloworld.java需相同

java都由定義(class)類別開始
內容可以有無數個類別
但只能有一個 public 類別

public要小寫

--------------------------------

public class Helloworld {

      public static void main ( 


)

}

main( ) (Method),是java程式的進入點(Entry Point)
程式的執行是從進入點開始

他一定是個 public 成員(Member),這樣他才可以被呼叫
由於他不需要產生物件就要能被執行,所以他必須是 static 成員

public & static是 物件導線程式 上的觀念.後述 (物件與類別)

void表示結束後不用回傳任何值
java的主方法不需要回傳任何值,所以一律使用 void

main ( ) 是java主方法的表現方式

-----------------------------------

public class Helloworld {

      public static void main (  string [ ] args ) {

                  System.out.println ("Hello World") ;

               }

}


System.out.println()的System開頭要大寫

string [ ] args 是命令列引述(command line argument)
可以在執行程式時,取得使用者指定的相關參數;
雖然目前不使用,但仍要寫上.規定

args是個參數名稱,可以隨意命名

使用了java.lang套件下的system類別
用他的公開成員out物件,他是一個systemstream物件,
使用了他提供的pringln(),將他所指定的字串(string) "Hello Worid" 輸出到console上

println()表示字串後要自動斷行
使用pring()的話,輸出字串不會自動斷行
注意字串結束後需要 ;