用二位元來運算
1.^ (互斥或):2^10==8。只有一個為1,才相加1,其餘為0。
2. &、and (且):2&10==2。只有二者都是一,才相加1,其餘為0。
3. |、or (或):2|10==10。只要有,1就相加1,其餘為0。
2.JAVA可以編譯的字元(UnicodeVariable)
// 類別及檔案名稱也改成"大中國"試試看!
// 好玩,但避免這樣用
public class Test {
static void 列印(String 中文字){
System.out.println(中文字);
}
public static void main(String [ ] args){
String $_$ = "$_$ ... 我的眼中只有錢!";
String _U_ = "昏倒在地上! ... _U_";
String ¥50丹 = "¥50丹 日幣50圓!";
列印($_$);
列印(_U_);
列印(¥50丹);
String € = "我是歐元!";
列印(€);
}
}
3.big5 trouble
中文字盡量用UTF-8存檔,若用big5 或 ANSI 會有問題。
參考老師資料:01_UnicodeVariable_1.zip
4.enum 列舉
以生肖程式為例:
import java.util.*;
public class MyBirthPets2 {
enum BirthPet{ //類似陣列,但裡面的中文沒有用單引號分隔,所以不是char。
鼠,牛,虎,兔,龍,蛇,馬,羊,猴,雞,狗,豬
}
public static void main(String[] args) {
BirthPet [] ap = BirthPet.values();
Scanner s = new Scanner( System.in );
int y = 0;
String year;
do {
System.out.print("請輸入你的生日西元年: ");
year = s.next();
if( year == null || year.length() <=0){
continue;
} else {
try {
y = (Integer.parseInt(year) - 2008) % 12;
} catch (Exception e ){
System.out.println("別鬧了!");
continue;
}
if ( y < 0 ){ y = 12+y; }
System.out.println("你的生肖是 " + ap[y] +"!!");
/*
switch(ap[y]){ //類似陣列,但case的中文沒有用單引號分隔,所以不是char。
case 鼠:
System.out.println("你的生肖是 鼠!");
break;
case 牛:
System.out.println("你的生肖是 牛!");
break;
case 虎:
System.out.println("你的生肖是 虎!");
break;
case 兔:
System.out.println("你的生肖是 兔!");
break;
case 龍:
System.out.println("你的生肖是 龍!");
break;
case 蛇:
System.out.println("你的生肖是 蛇!");
break;
case 馬:
System.out.println("你的生肖是 馬!");
break;
case 羊:
System.out.println("你的生肖是 羊!");
break;
case 猴:
System.out.println("你的生肖是 猴!");
break;
case 雞:
System.out.println("你的生肖是 雞!");
break;
case 狗:
System.out.println("你的生肖是 狗!");
break;
case 豬:
System.out.println("你的生肖是 豬!");
break;
default:
System.out.println("你大概是外星人!");
} //switch
*/
} //if
System.out.print("是否再繼續? [y/n] ");
if ( s.next().equals("n") ){ break; }
} while (true);
for ( BirthPet p : BirthPet.values() ){
System.out.print(p + ", ");
}
} //main
} //class
5.HTML 的 form 表單 與 JSP 互動
A.HTML 的 form 表單
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body bgcolor='skyblue'>
<a href='../index.htm'> 回上一頁 </a><hr>
表單練習
<form name='f1' method='post' action='check.jsp'>
//method 用post 不用get(預設),因為get會將結果秀在網址列後面加上問號
帳號: <input type='text' name='act'> </br> //輸入形式為text 表示 textbox
密碼: <input type='password' name='pwd'> </br></br> //輸入形式為password表示內容不顯示
//radio為radio button,checked為預設值。
<input type='radio' name='gender' value='female' checked> 女生
<input type='radio' name='gender' value='male'> 男生
<input type='radio' name='gender' value='both'> 花生 </br></br>
//三個radio button必須同名,才會成一個group,有三選一,不然會各自獨立。
//多選為 checkbox。
<input type='checkbox' name='favorite' value='1tv'> 電視
<input type='checkbox' name='favorite' value='2music' checked> 音樂
<input type='checkbox' name='favorite' value='3movie'> 電影 </br></br>
目前身分:
//下拉式選單用 select。跟radio button一樣,必須同名代表在同一group。
<select name='status'>
<option value='student'> 學生 </option>
<option value='social' selected> 社會人士 </option>
</select> </br></br>
//清空的按鈕為 reset。送出的按鈕為submit。
<input type='reset' value='全部清空'>
<input type='submit' value='確認送出'> <br>
</form>
</body>
</html>
B.JSP 互動
<%
String act = request.getParameter("act");
out.print( act + "</br>");
String pwd = request.getParameter("pwd");
out.print( pwd + "</br>");
String gender = request.getParameter("gender");
out.print( gender + "</br>");
//多選必須使用陣列來承接。陣列的承接語法多一個Values。
String[] favorite = request.getParameterValues("favorite");
//先判斷多選不是空值寫大於0才進行。
if( (favorite != null) && (favorite.length >0) ){
for( String s : favorite ){
out.print( s + "</br>");
}
}
String status = request.getParameter("status");
out.print( status + "</br>");
%>
6.猜大小
先建立一個表單,用radio button 來做選大或選小
index.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body bgcolor='skyblue'>
<a href='../index.html'> 回上一頁 </a><hr>
<form name='f1' method='post' action='ans.jsp'>
猜大小: </br>
<input type='radio' name='guess' value='s' checked> (1 ~ 6) 小
<input type='radio' name='guess' value='b'> (7 ~ 13) 大 </br></br>
<input type='submit' value='確認'> <br>
</form>
</body>
</html>
ans.jsp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<%
String guess = request.getParameter("guess");
byte ans =(byte)(Math.random()*13+1);
if (
(ans < 7 && guess.equals("s"))
|| (ans > 7 && guess.equals("b"))
|| (ans == 7)
){
out.print( ans + ",你贏了!");
}
else {
out.print( ans + ",你輸了!");
}
%>
<br>
<a href='index.htm'> 再猜 </a> ?
</body>
</html>
結果:
No comments:
Post a Comment