2013年1月2日 星期三

編譯時中文編碼錯誤(warning: unmappable character for encoding MS950)

筆者我在Windows 7 系統上開發JAVA

Windows 不像 Ubuntu 等 linux 一樣有 ls 指令

因此在查看資料夾時須改用 dir 指令

接下來要進入主題

如果你的Java程式中, 有使用到中文字的話

那麼編譯的時候Compiler會提醒你錯誤發生

在此我參考 Davis' Blog 的教學

http://tw.myblog.yahoo.com/davis-tseng/article?mid=96

你可能會看到如下的警告

xxx.java:34: warning: unmappable character for encoding MS950

如果你用的是Unicode

那麼你可以下這樣的語法

javac -encoding utf-8  xxx.java

如果你用的是ANSI編碼

則你可以改用

javac -encoding MS950


至於 UTF-8 UTF-16 UTF-32的差異在哪邊

就請各位讀者自行前往WIKI查詢了

這不是本篇的重點

謝謝大家

JAVA如何產生隨機的整數

這裡我們使用到API中 Math Class的random()方法

詳細的語法如下



int a = (int)( Math.random() * 10);



其中 Math.random() 會產生一個小於0的浮點數

我們將他乘以十之後再轉換成 int 型態

便可以得到 0 ~ 9 的隨機整數

程式語言學習網站

不錯的程式語言學習網站

http://pydoing.blogspot.tw/

裡面囊括了  BASIC, C, C++, C#, Java, JavaScript, Objective-C, Perl, PHP, Python, Ruby, HTML, CSS

筆者目前只有看裡面的JAVA還不錯

有新的網站或者是更好的資源會更新給大家

Java 與 C++的語法相異處

1.output 的方法

在c++,我們會用 cout << "123"; 這樣的語法來將資料輸出到螢幕上

而c語言的時候則是用

char var = a;

printf("%c 123", var); 這樣的語法來輸出 a123

而今 Java的 output 方法

使用的是 System.out.println();

這個方法很酷炫的是,如果()裡面沒有填東西

那麼就會自動換行,另外也可以使用c++ 或者是 c的語法

例如

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

System.out.printf("a = %d, b = %d\n", demo.a, demo.b);

2. 呼叫陣列的時候

C++ 可用

char * = new char[16];

char [16];

這類的語法

Java 只能用

char[] = new char[16]

這樣的語法