English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

問題: 每次給你若干張牌 判斷是否為順子 那撲克牌不考慮花色 
點數表示法為 A23456789TJQK , T=10

那輸入 每行不超過20的字元 其中英文字母可能是大寫或小寫
如果輸入為順子 輸出 yes 不是 輸出 no 如果不代表牌子點數的 或是不符規定
則輸出 wrong

請問 有哪位高手 會呢?

2006-07-07 12:54:11 · 2 個解答 · 發問者 小允 2 in 電腦與網際網路 程式設計

2 個解答

請參考我的寫法import java.io.*;public class C { public static void main(String[] args) throws Exception {  while (true) {   System.out.print("Please input the cards: ");   BufferedReader br = new BufferedReader(new InputStreamReader(System.in));   String s = br.readLine();   if (!s.matches("[A23456789TJQK ]*")) // verify valid input    System.out.println("Wrong cards!!");   else if (isStraight(s.toUpperCase()))    System.out.println("Yes. You got straights.");   else    System.out.println("No. You got no straight.");   System.out.print("Continue?(y/n): ");   s = br.readLine();   if (s.equals("n")) break;  } }  public static boolean isStraight(String s) {  // sort s with order "A23456789TJQK" and remove spaces  StringBuffer sb = new StringBuffer();  char[] ary = s.toCharArray();  for (char c: ary) if (c == 'A') sb.append(c);  for (char c: ary) if (c == '2') sb.append(c);  for (char c: ary) if (c == '3') sb.append(c);  for (char c: ary) if (c == '4') sb.append(c);  for (char c: ary) if (c == '5') sb.append(c);  for (char c: ary) if (c == '6') sb.append(c);  for (char c: ary) if (c == '7') sb.append(c);  for (char c: ary) if (c == '8') sb.append(c);  for (char c: ary) if (c == '9') sb.append(c);  for (char c: ary) if (c == 'T') sb.append(c);  for (char c: ary) if (c == 'J') sb.append(c);  for (char c: ary) if (c == 'Q') sb.append(c);  for (char c: ary) if (c == 'K') sb.append(c);    String s2 = sb.toString();    // test if any straight combination  if (s2.matches("A+2+3+4+5+.*") || s2.matches(".*2+3+4+5+6+.*") ||   s2.matches(".*3+4+5+6+7+.*") || s2.matches(".*4+5+6+7+8+.*") ||   s2.matches(".*5+6+7+8+9+,*") || s2.matches(".*6+7+8+9+T+.*") ||   s2.matches(".*7+8+9+T+J+.*") || s2.matches(".*8+9+T+J+Q+.*") ||   s2.matches(".*9+T+J+Q+K+") || s2.matches("A+.*T+J+Q+K+"))   return true;    return false; }}

2006-07-12 11:57:32 · answer #1 · answered by ? 7 · 0 0

推薦您前往黃金俱樂部遊戲網!

提供您詳盡的說明

您可以先進行遊戲下載:
網址:http://99點5888th點net

誠心服務!會員溫馨!永久服務!
第一:全程直播遊戲的公平與公正性【亞洲唯一直屬會員代理】
第二:點數儲值和託售皆在十分鐘之內完成【全台娛樂城速度最快24小時不分周末】
第三:二十四小時專業客服務線上服務全年無休【大大小小問題都可以馬上做詳細解答喔】
電子機台.真人遊戲和你一同玩樂
麻將 百家樂 5PK 德州撲克 水果盤 賓果
輪盤 21點 10點半 骰盅 牌九 鬥地主 13支

全年網站優惠活動不間斷!
快去註冊會員!免費:http://99點5888th點net

2014-08-06 20:32:20 · answer #2 · answered by Anonymous · 0 0

fedest.com, questions and answers