【发布时间】:2012-01-05 05:47:24
【问题描述】:
我正在尝试用 Java 编写一个非常小的程序,该程序将字符串作为输入,并使用一个生成伪随机字符并将它们与字符串的每个元素进行比较的函数,如果它们相同,则字符得到写入结果数组的索引与它在下面的字符串代码中的索引相同,
public static char randomChar(){
int diceroll = dice.nextInt(25);
return alphabet.charAt(diceroll);
}
public static int itterator(String input){
char inputchar;
//convert input string to array
char[] stringarray = input.toCharArray();
while(stringarray != result)
count++;
//itterate each character
for(int i = 0; i<input.length(); i++)
{
inputchar = input.charAt(i);
if( randomChar() == inputchar )
{
result[i] = inputchar;
}
}
return count;
}
但是程序永远不会终止,这是因为我创建了一个无限循环还是有其他原因?任何帮助表示赞赏!
干杯
【问题讨论】:
-
我认为你的无限循环在这里:
while(stringarray != result) count++; -
你应该在调试器中运行它——我敢打赌问题会很快出现。
标签: java while-loop infinite-loop