Re: [問題] 老師出的java作葉
恩 .. 我不太想看你的邏輯跟程式碼 ..
前面有大大說明了 C++/Java 都有重新打亂的機制 ...
那麼我來告訴你我心中的想法,自己寫程式碼創造重新打亂的方法
1. 先給出 1~52 的數值陣列 A ..
<<接下來就是打亂>>
2. 從這 1~ 52 個陣列裡面隨便挑一個數值 .. ex : 3
並且把這個數字刪除 .. 所以現在順序是 1, 2, 4, 5 .. 52
3. 把 3 放到另外一個陣列 B 的第一個元素
4. 重複 2 ~ 3 的步驟 ..
直到陣列 A 清空並且陣列 B 變為 52 個元素
<<這時候陣列 B 裡面就是打亂不重複的 52 個數值>>
方法還有很多, 我還可以想好幾個 (這個版本應該會稍微慢一點)
另外,反正你原先寫的程式碼也不是很龐大 .. 砍掉重練吧 !
※ 引述《ta395ki2.bbs@ptt.cc (沒關係繼續努力)》之銘言:
: import javax.swing.*;
: import java.awt.*;
: public class s {
: public static void main(String[] args){
: int i,x,j,e=0,bk=1,f;
: JFrame frame = new JFrame("s(FlowLayout)");
: Container c=frame.getContentPane();
: FlowLayout f1=new FlowLayout(FlowLayout.LEFT);
: c.setLayout(new GridLayout(7,7,15,15));
: for(int p=1;p<=52;p++){
: x=(int)(Math.random()*52)+1;
: int table[]={x};
: for(i=0;i<=52;i++){
: if(table[i]==x){
: bk=2;
: break;}
: else{
: if(table[i]==0){
: table[i]=x;
: bk=2;
: break;}
: }
: }
: }
: frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
: frame.setSize(300,400); //設定視窗大小
: frame.pack();
: frame.setVisible(true); //顯示視窗
: }
: }
: 我改成了這樣 但是還是會重複 我不知道我邏輯到底哪裡錯了
: 幫我就正一下 拜託= =
--
◣You Die◢
◥╭──╮◤
●●
╰ ∞ ╯
◢ ╰ ╯ ◣
◤ ◥
--
╭──── Origin:<不良牛牧場> bbs.badcow.com.tw (210.200.247.200)─────╮
│ ↘ Welcome to SimFarm BBS -- From : [140.120.80.19] │
╰◣◣◢ ◢◢《不良牛免費撥接→電話:40586000→帳號:zoo→密碼:zoo》 ◣◣◢ ─╯
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章