看板 java 關於我們 聯絡資訊
這是我寫的猜數字程式碼 但是在比對 使用者跟電腦產生的數字的時候 A跟B不會加.. int []answer=new int[4]; int a=0,b=0; for(int i=0;i<answer.length;i++) answer[i]=(int)(10*Math.random()); //隨機產生四位數 for(int i=0;i<answer.length;i++) System.out.print(answer[i]); //顯示產生的數字 BufferedReader buf = new BufferedReader (new InputStreamReader(System.in)); System.out.print("請輸入數字(0000~9999):"); String guess = buf.readLine(); System.out.println("您輸入的數字: " + guess); //取得輸入數字 // for(int i=0;i<4;i++) // System.out.println("guess.charAt" +"["+i+"]"+"="+guess.charAt(i)); // for(int i=0;i<4;i++) // System.out.println("answer"+"["+i+"]"+"="+answer[i]); // //驗證陣列 (這是我原本拿來驗證用的 抱歉) for(int i=0;i<4;i++){ for(int j=0;j<4;j++) if (guess.charAt(i)==answer[j]){ if(i==j) a++; else b++; } }System.out.println(a+"A"+b+"B"); //比對數字且輸出結果 我努力了一整天 還是不知道到底錯在那 A跟B永遠都是0 煩請高手解答ˊˋ 原來我插入驗證的地方插錯了...難怪沒發現到 抱歉 感激版主跟底下推文的人^^" 原本我以為guess.charAt(i) 可以把guess的字串轉成數字格式 不好意思 我程式很差 讓大家見笑了^^|| -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.169.65.35
Srjiang:要不要在a++跟b++的地方印一下log 看有沒有執行到? 08/29 12:22
Srjiang:順便印一下 guess.charAt(i) 和 answer[j] 哦 08/29 12:24
gotoo:guess.charAt(i)回傳的是字元不是int 08/29 12:57
※ 編輯: jashking 來自: 218.169.65.35 (08/29 13:28) ※ 編輯: jashking 來自: 218.169.65.35 (08/29 13:32)