20120706 J2EE 程式設計六

1.Java 相關的各種語法比較
1. Java & Servlet 是在 server 端執行完後再將結果傳送給 client 端。意思是說, client 不必安裝 java 也可以執行。
2.Applet 、JSP & java Script (非java) 是在 client 端執行,但是 Applet 必須在 client 端安裝 Java,其餘二者不需要。

2.Math.ceil  & Math.floor
1.Math.ciel (3.14) = 4              //比3.14大且最接近整數
   Math.floor (3.14) = 3            //比3.14小且最接近整數

2.Math.ciel (-3.14) = -3           //比 -3.14大且最接近整數
   Math.floor (-3.14) = -4         //比 -3.14小且最接近整數

3.高內聚 VS 低耦合
High Cohesion (高內聚):意指 class 內,不要包山包海,改個東西就許多功能不行用。
Loose Coupling (低耦合):意指 class 與 class 之間,不要牽扯太多,改一個 class會影響其他多個 class。

4.FullHose
亂數取出5張不重複的撲克牌
程式碼:

<html>
<head>
<title>
5張撲克牌
</title>
</head>
<body>
<a href='../'>回上一頁</a>
<hr>
<%
 //宣告一個二維陣列,第一代表4個花色,第二維代表數字
String[][] AllCards = new String[4][13];
String[] cardType = {"spade","heart","diamond","clubs"};
String[] jqk = {"jack","queen","king"};
for( int i=0; i<4; i++){
  for( int j=0; j<13; j++){
    if( j==0 ){
      AllCards[i][j] = cardType[i] + "-" + "ace";
    } else if( j > 9 ){
      AllCards[i][j] = cardType[i] + "-" + jqk[j-10];
    } else {
      AllCards[i][j] = cardType[i] + "-" + (j+1);
    }
  }
}

byte t,n;
for( int i=0; i<5; i++){
  t = (byte)( Math.random()*4 );
  n = (byte)( Math.random()*13);
  if( AllCards[t][n] == null ){
    i--;
    continue;
  }
  out.print("<img width='100' height='120' src='./images/" + AllCards[t][n] + ".png'>");
  AllCards[t][n] = null;
}
%>
</body>
</html>


No comments: