作者jashking (拉拉拉)
看板java
标题[问题] 写猜数字程式
时间Fri Aug 29 12:02:07 2008
这是我写的猜数字程式码
但是在比对 使用者跟电脑产生的数字的时候
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
1F:推 Srjiang:要不要在a++跟b++的地方印一下log 看有没有执行到? 08/29 12:22
2F:推 Srjiang:顺便印一下 guess.charAt(i) 和 answer[j] 哦 08/29 12:24
3F:推 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)