SSブログ

Java:12星座占いサーブレット [勉強]

お暑うございます。しゃくれアゴです。
前回、職業訓練の課題で出された「12星座占い」のサーブレットソースをUPしますかねぇ。

あ、そのまえに・・・
最近お気に入りのSTARTREK壁紙の画像をUPしよう。
職業訓練で使用しているPCも、家のデスクトップPCも同じ壁紙にしています。

73177-bigthumbnail.jpg 

名にEnterpriseがつくShipたち。
帆船だったり、戦艦?だったり、原子力空母だったり、スペースシャトルだったり・・・
そして、途中からSTARTREKの世界で活躍する宇宙船Enterpriseたちですね。

U.S.S.Enterprise X(Enterpriseに登場)はなんとなく分かるけど・・・複数の輪の中に棒みたいヤツ・・・・・・なんだろ、これは?
そのあとは、U.S.S.Enterprise NCC-1701(TV版スタートレックでカーク船長が乗ってたヤツね:コンスティテューション級)、NCC-1701-A(映画スタートレック4:コンスティテューション級)、NCC-1701-B(映画スタートレック ジェネレーションズ:エクセルシオール級)、NCC-1701-C(TV版TNG(The Next Generation)「亡霊船艦エンタープライズ"C"」:アンバサダー級)、NCC-1701-D(TV版スタートレック TNG:ギャラクシー級)、NCC-1701-E(映画スタートレック ファーストコンタクト:ギャラクシー級??)。で、たぶん最後のエンタープライズはジェイムズ・T・カークが若き頃に乗ったヤツかな?

 

 

おっとトレッキー魂に火がつき始めるところだった。(^-^;
そうそう、12星座占いサーブレットの回答ソースでしたねぇ。

まずは、サーブレットが呼び出すメソッドを持っているクラスのソースね。
public class Uranai {
 private static String[] colors = {
  "赤", "青", "黄", "緑", "紫", "白", "茶", "黄緑", "橙", "水", "灰", "金", "銀"
//  {"red", "blue", "yellow", "green", "purple", "white", "saddlebrown", "greenyellow",
//   "orange", "aqua", "gray", "gold", "silver"},
 }; 
 private static String[] items = {
  "シルバーアクセサリー", "観葉植物", "週刊誌", "Tシャツ", "ガンプラ", "キン消し",
  "文庫本", "文房具", "招き猫", "狸の置物", "スニーカー", "手鏡", "果物"
 }; 
 private static String[] stars = {
  "☆★★★★",
  "☆☆★★★",
  "☆☆☆★★",
  "☆☆☆☆★",
  "☆☆☆☆☆"
 }; 
 private static String[] seiza = {
  "おひつじ座",
  "おうし座",
  "ふたご座",
  "かに座",
  "しし座",
  "おとめ座",
  "てんびん座",
  "さそり座",
  "いて座",
  "やぎ座",
  "みずがめ座",
  "うお座"
 };
 
 public static String getSeiza(int n) {
  return seiza[n];
 } 
 public static String getMoneyLuck() {
  int num = (int)(Math.random() * stars.length);
  return stars[num];
 } 
 public static String getLoveLuck() {
  int num = (int)(Math.random() * stars.length);
  return stars[num];
 } 
 public static String getHealthLuck() {
  int num = (int)(Math.random() * stars.length);
  return stars[num];
 } 
 public static String getJobLuck() {
  int num = (int)(Math.random() * stars.length);
  return stars[num];
 } 
 public static String getLuckyColor() {
  int num = (int)(Math.random() * colors.length);
  return colors[num];
 } 
 public static String getLuckyItem() {
  int num = (int)(Math.random() * items.length);
  return items[num];
 }
}

で、つぎがサーブレットのソース。
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class UranaiServlet extends HttpServlet {

 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  
  String[] iro = new String[12];
  for (int i = 0; i < iro.length; i++) {
   iro[i] = Uranai.getLuckyColor();   
  }
  
  String[] bgColor = new String[12]; //"red";
  for (int i = 0; i < bgColor.length; i++) {
   if (iro[i].equals("赤")) {
    bgColor[i] = "red";
   } else if (iro[i].equals("青")) {
    bgColor[i] = "blue";
   } else if (iro[i].equals("黄")) {
    bgColor[i] = "yellow";
   } else if (iro[i].equals("緑")) {
    bgColor[i] = "green";
   } else if (iro[i].equals("紫")) {
    bgColor[i] = "purple";
   } else if (iro[i].equals("白")) {
    bgColor[i] = "white";
   } else if (iro[i].equals("茶")) {
    bgColor[i] = "saddlebrown";
   } else if (iro[i].equals("黄緑")) {
    bgColor[i] = "greenyellow";
   } else if (iro[i].equals("橙")) {
    bgColor[i] = "orange";
   } else if (iro[i].equals("水")) {
    bgColor[i] = "aqua";
   } else if (iro[i].equals("灰")) {
    bgColor[i] = "gray";
   } else if (iro[i].equals("金")) {
    bgColor[i] = "gold";
   } else if (iro[i].equals("銀")) {
    bgColor[i] = "silver";
   }
  }
  
  response.setContentType("text/html; charset=Windows-31J");
  PrintWriter out = response.getWriter();
  String s = "<html>" + "<head>" + "<title>12星座占い</title>" + "</head>" + "<body>";
  out.println(s);
 
  for (int i = 0; i < 12; i++) {
   out.println("<table border=1 bgcolor=" + bgColor[i] + " cellpadding=5>");
   out.println("<tr><td width=200 colspan=2 align=center>");
   out.println(Uranai.getSeiza(i));
   out.println("</td></tr>");
   out.println("<tr><td width=100>金運</td>");
   out.println("<td width=100>");
   out.println(Uranai.getMoneyLuck());
   out.println("</td></tr>");
//   out.println("<tr><td width=100>健康運</td>");
//   out.println("<td width=100>");
//   out.println(Uranai.getHealthLuck());
//   out.println("</td></tr>");
//   out.println("<tr><td width=100>恋愛運</td>");
//   out.println("<td width=100>");
//   out.println(Uranai.getLoveLuck());
//   out.println("</td></tr>");
//   out.println("<tr><td width=100>仕事運</td>");
//   out.println("<td width=100>");
//   out.println(Uranai.getJobLuck());
//   out.println("</td></tr>");
   out.println("<tr><td width=100>ラッキーカラー</td>");
   out.println("<td align=center>");
   out.println(iro[i]);
   out.println("</td></tr>");
   out.println("<tr><td width=100>ラッキー<br>アイテム</td>");
   out.println("<td align=center>");
   out.println(Uranai.getLuckyItem());
   out.println("</td></tr>");
   out.println("</table>");
  }
  out.println("</body></html>");
 }
}

金運以外がコメントアウトされているのは・・・沢山表示するのが面倒だったから(^-^;
サーブレット側にif文をいれて、力業でラッキーカラーと同じ色でテーブルが表示されるようにしています。
もうちょっとスマートな実現手段があるとは思いますが、私が考えついたのは、ここまででした。

これを、tomcatのwebapps→entry→WEB-INF→srcに入れて、WEB-INFでcompile.batを通して2つのソースをコンパイルして、WEB-INFにあるweb.xmlにUranaiServletの情報を追記して、tomcatを起動(または再起動)して、ブラウザでhttp://localhost:8080/entry/UranaiServletにアクセスすれば、その都度12星座の占い結果が見れます。
ランダムだから、信憑性はありませんけどね。
って、占いは「当たるも八卦、当たらぬも八卦」だったっけ。(^-^;

あ、八卦(はっけ)は、中国の神様?女禍の旦那様である伏儀が編み出したモノだそうです。

 

おっと、TVドラマ「ハンマーセッション」が始まりそうだから、ここまで。
再見! (^-^)ノシ

 


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:資格・学び

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。