package j2.lesson01;
import java.io.*;
/**
* 課題1404 (2) - 解答例.
* {@link Card} を操作するクラス.
* @author arakawa
* @version $Id: CardAction_java.rps,v 1.1 2006/03/06 12:56:15 java2005 Exp $
*/
public class CardAction {
/**
* {@link Card} を操作するプログラム.
* @param args 無視される
* @throws IOException 入力中に例外が発生した場合
*/
// プログラム全体
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// print "カードを入力:"
System.out.print("カードを入力:");
// card = 入力されたカード
String s = reader.readLine();
Card card = createCardOf(s);
// print "入力されたカードは"
System.out.print("入力されたカードは");
// print(card)
print(card);
}
/**
* 指定した文字列からなるカードを作成する。
* @param str 元となる文字列
* @return 対応するカード
*/
public static Card createCardOf(String str) {
Card card = new Card();
card.suite = str.charAt(0);
char rank = str.charAt(1);
if (rank == 'A') {
card.rank = 1;
}
else if (rank == 'J') {
card.rank = 11;
}
else if (rank == 'Q') {
card.rank = 12;
}
else if (rank == 'K') {
card.rank = 13;
}
else {
card.rank = Integer.parseInt(str.substring(1));
}
return card;
}
/**
* 指定したカードを表示する
* @param card 表示するカード
*/
public static void print(Card card) {
switch (card.suite) {
case 'S':
System.out.print("スペード");
break;
case 'C':
System.out.print("クラブ");
break;
case 'H':
System.out.print("ハート");
break;
case 'D':
System.out.print("ダイヤ");
break;
default:
System.out.print("?");
break;
}
System.out.print("の");
switch (card.rank) {
case 1:
System.out.print("エース");
break;
case 11:
System.out.print("ジャック");
break;
case 12:
System.out.print("クイーン");
break;
case 13:
System.out.print("キング");
break;
default:
System.out.print(card.rank);
}
}
}
|