求:大樂透包牌程式碼問題(前面自選及電選我已經做好)

crc2121

一般般會員
已加入
9/29/06
訊息
74
互動分數
0
點數
0
年齡
42
我說明一下~~~
這是JAVAㄉ!!
大致上就是1~49個號碼選8個號碼進行組合排列~~~
也就是8C6~~~
可以幫我改一下8C6嗎!?
且是自己任選8個號碼~~~~
P.S
怕丟作業上來而被關~~~
只好丟某個範例檔案!!
希望有好心的高手幫忙解題嚕
我是JAVA初學者
C語言學過6個月~~
滄者就差程式語言版不然就更完美!!如有觸犯條文請先告知我後再坎文吧!!當然希望別砍@@"

代碼:
//程式碼開始//

public class NofM
{
     private int m;
     private int[] set;
     private boolean first;
     private int position;
     public NofM(int n, int m)
     {
          this.m = m;
          first = true;
          position = n - 1;
          set = new int[n];
          for(int i = 0; i < n; i++)
          set[i] = i + 1;
     }
     public boolean hasNext()
     {
          return set[0] < m - set.length + 1;
     }
     public int[] next()
     {
          if(first)
          {
               first = false;
               return set;
          }
          if(set[set.length-1] == m)
              position--;
          else
              position = set.length - 1;
              set[position]++; // 調整右邊元素
             for(int i = position + 1; i < set.length; i++)
         set[i] = set[i-1] + 1;
         return set;
     }
     public static void main(String[] args)
     {
            NofM nOfm = new NofM(6, 49);
            while(nOfm.hasNext())
            {
                  int[] set = nOfm.next();
                  for(int i = 0; i < set.length; i++)
                  {
                          System.out.print(set[i]);
                   }
                   System.out.println();
            }
     }
}

//程式碼結束//
 
▌延伸閱讀