Re: [問題] 如何寫成一個猜數字的遊戲

看板java作者 (☑狂派☑初音)時間13年前 (2012/10/19 17:48), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串6/7 (看更多)
※ 引述《JazzChen (PhoenixJazz)》之銘言: : 小弟不才,在此次第一次發文 : 實在是因為碰上了一個大大大的問題 : 由於小弟是自學,學疏才淺,實在是受不了可能要一次跑67個if式因此想上來詢問各位 : 大大 : 相信各位大大都聰明才智都有聽過"猜數字"的遊戲 : 小弟不才最近由於興趣正在編撰一個猜數字的小遊戲程式 : 但可能是小弟對於電腦方面的低能或等等,實在只能用土法煉鋼的方法用if式一個一個 : 慢慢keyin,但是實在是keyin到發瘋了! : 故想請問各位大大有沒有比較"偷懶"的方法可用,讓小弟脫離可怕的if地獄... : 感激!! 剛剛想了一下 重點應該在判斷幾a幾b的邏輯吧 如果只是單純這個邏輯,使用list的函數就能解決了 private Pojo getAnswer(ArrayList<Integer> guessList , ArrayList<Integer> answerList){ int index = 0; int a = 0; int b = 0; for(Integer eachGuess : guessList){ if(answerList.contains(eachGuess) == true){ //有存在判斷是a還是b if(answerList.get(index).intValue() == eachGuess.intValue()){ a++; }else{ b++; } } index ++; } return new Pojo(a, b); } 將輸入跟答案做成list 對輸入的list做迴圈 使用contains去檢核是否在答案list出現 有的話在檢查位置是否相同 就可以得到幾a幾b了 不過為了怕貼太多很冗長,一開始輸入使用的Scanner等重複讓使用者輸入的迴圈的 省略不貼了 個人是覺得這樣只要做好list就能比了而不用費心去跑回圈拿字串比 也比較好懂 至於做成list 就只是String.chatAt() 一直轉型成數字放入而已 -- 你看,這是她的照片,很美吧,這次結束後我就要回家鄉跟他結婚... 來接應的直升機就在前面了,這裡有我擋著,你們先走,回頭見... 兄弟們提起精神,幹完這票咱們就可以金盆洗手了... 爸爸,你走吧。他往車外看了看,說,我買幾個橘子去。你就在此地,不要走動... 什麼聲音?你們先在這等著,我去看看情況... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.34.10.7 ※ 編輯: mintle 來自: 114.34.10.7 (10/19 17:49)

10/19 18:55, , 1F
有陷阱!! answerList.get(index) == eachGuess
10/19 18:55, 1F

10/19 19:01, , 2F
沒錯,ArrayList中是Object,用==的話要小心會...
10/19 19:01, 2F

10/19 19:59, , 3F
對吼 修改一下好了
10/19 19:59, 3F
※ 編輯: mintle 來自: 220.132.116.136 (10/19 20:00)
文章代碼(AID): #1GWI7SuQ (java)
討論串 (同標題文章)
文章代碼(AID): #1GWI7SuQ (java)