作者 主題: 《問題》JAVA範例寫作  (閱讀 11362 次)

0 會員 與 1 訪客 正在閱讀本文。

usa2015

  • 可愛的小學生
  • *
  • 文章數: 2
    • 檢視個人資料
《問題》JAVA範例寫作
« 於: 2003-09-30 01:06 »
《問題》JAVA範例寫作
             
 

此題是書本的範例習題。
題目:利用隨機數產生器 random(),設計一個程式由電腦橋牌給4位玩家,並印出每位玩家所分得之花色和點數。梅花以C,方魗以D,紅心以H,黑桃以S表示。牌點以 A,2,3,4,5,6,7,8,9,T,J,Q,K表示。

請那位大大幫小弟忙。
我是剛起步學JAVA的,遇到這題卻不知道要用什麼”方法”解之。
隨機分牌給四位玩家牌點及花色要如何決定呢?

reggie

  • 活潑的大學生
  • ***
  • 文章數: 386
    • 檢視個人資料
《問題》JAVA範例寫作
« 回覆 #1 於: 2003-09-30 02:20 »
看不太懂"橋牌"給4位玩家,是不是分牌的意思?
如果是這樣,我想到兩種方法
第一、random()抓牌就分牌,當然抓過的牌要記錄起來,之後抓到的牌不能跟抓過的牌重覆
第二、先把52支牌用random()抓好(當然也是不能重覆),最後再分給四個玩家
這個作業我會想到用陣列做,那你呢?

wxd81818

  • 可愛的小學生
  • *
  • 文章數: 5
    • 檢視個人資料
回覆: 《問題》JAVA範例寫作
« 回覆 #2 於: 2010-11-02 16:17 »
不知道此位小哥问题解决否!提供代码

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class aaa {
   static List<String> parkList = new ArrayList<String>();
   static List<String> zslist = new ArrayList<String>();
   static List<String> lslist = new ArrayList<String>();
   static List<String> wwlist = new ArrayList<String>();
   static List<String> zllist = new ArrayList<String>();

   public static void main(String[] args) {
      // 初始化牌
      for (int i = 1; i < 5; i++) {
         switch (i) {
         case 1:
            initP("红桃");
            break;
         case 2:
            initP("梅花");
            break;
         case 3:
            initP("方片");
            break;
         case 4:
            initP("黑桃");
            break;
         }
      }
      // 开始分牌
      fenpai();
      for (int i = 0; i < 4; i++) {
         switch (i) {
         case 0:
            System.out.println("张三的牌为:=\r\n");
            printlist(zslist);
            break;
         case 1:
            System.out.println("李四的牌为:=\r\n");
            printlist(lslist);
            break;
         case 2:
            System.out.println("王五的牌为:=\r\n");
            printlist(wwlist);
            break;
         case 3:
            System.out.println("赵六的牌为:=\r\n");
            printlist(zllist);
            break;
         }
      }
   }

   private static void printlist(List<String> list) {
      for (int i = 0; i < list.size(); i++) {
         System.out.println(list.get(i));
      }
   }

   private static void initP(String str) {
      String temstr = str;
      for (int i = 1; i < 14; i++) {
         temstr = str;
         switch (i) {
         case 1:
            temstr = temstr + "A";
            break;
         case 11:
            temstr = temstr + "J";
            break;
         case 12:
            temstr = temstr + "Q";
            break;
         case 13:
            temstr = temstr + "K";
            break;
         default:
            temstr = temstr + i;
         }
         parkList.add(temstr);
      }
   }

   private static void fenpai() {
      Random random = new Random();
      int k = 0;
      for (int i = 0; i < parkList.size(); i++) {
         switch (k) {
         case 0:
            zslist.add(parkList.get(random.nextInt(parkList.size())));
            break;
         case 1:
            lslist.add(parkList.get(random.nextInt(parkList.size())));
            break;
         case 2:
            wwlist.add(parkList.get(random.nextInt(parkList.size())));
            break;
         case 3:
            zllist.add(parkList.get(random.nextInt(parkList.size())));
            break;
         }
         if (k == 3) {
            k = 0;
         }
         else
         {
            k++;
         }
      }
   }
}
自行修改!