Re: [問題] 老師出的java作葉

看板Programming作者時間18年前 (2006/12/10 12:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串6/7 (看更多)
恩 .. 我不太想看你的邏輯跟程式碼 .. 前面有大大說明了 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 ◣◣─╯
文章代碼(AID): #15UuP_00 (Programming)
文章代碼(AID): #15UuP_00 (Programming)