黑马程序员技术交流社区
标题:
关于栈溢出的问题
[打印本页]
作者:
晓染霜林
时间:
2014-9-21 17:15
标题:
关于栈溢出的问题
class JudgeRadnumber {
public String input() {
String radNumber = ((int) (Math.random() * 8000 + 1000)) + "";
System.out.println("随机数 1:" + radNumber);
return radNumber;
}
/**
* 判断随机数中有没重复的数字
* @return
*/
public String judgeRadnumber() {
JudgeRadnumber j = new JudgeRadnumber();
String radNumber = input();
int n = 1;
int str[] = new int[4];
int par = Integer.parseInt(radNumber);
for (int i = 0; i <= 3; i++){
str[i] = Integer.parseInt((radNumber.substring(i, i + 1)));
}
while (str[0]==str[1]||str[0]==str[2]||str[0]==str[3]||str[1]==str[3]||str[1]==str[2]||str[3]==str[2]) {
System.out.println(str[0]==str[1]||str[0]==str[2]||str[0]==str[3]||str[1]==str[3]||str[1]==str[2]||str[3]==str[2]);
j.judgeRadnumber();
}
return radNumber;
}
}
这段代码运行时有时会报栈溢出的问题,原因是判断条件的错误,即使生成的四位数中每一位数字的值都不一样(即数组中的的每个数字不一样),判断条件也会为true,求解
作者:
SenGoo
时间:
2014-10-19 14:36
||只要一个条件为true,之后的条件就不再判断!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2