問題: 每次給你若干張牌 判斷是否為順子 那撲克牌不考慮花色
點數表示法為 A23456789TJQK , T=10
那輸入 每行不超過20的字元 其中英文字母可能是大寫或小寫
如果輸入為順子 輸出 yes 不是 輸出 no 如果不代表牌子點數的 或是不符規定
則輸出 wrong
請問 有哪位高手 會呢?
2006-07-07 12:54:11 · 2 個解答 · 發問者 小允 2 in 電腦與網際網路 ➔ 程式設計
請參考我的寫法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⤋