gpt4 book ai didi

java - 无限循环问题,比较 java 中的数组

转载 作者:行者123 更新时间:2023-11-29 08:09:53 24 4
gpt4 key购买 nike

我正在尝试用 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 语句周围缺少 {},但这不是您将遇到的唯一问题。

我假设 result 也是一个字符数组,但我看不到您在代码中的什么地方声明了它。如果它是一个 char 数组,那么你不能使用 stringarray != result 来比较它,因为它总是 false,导致另一个无限循环。

您需要使用 Arrays.equals(array1, array2); 来进行数组之间的比较。

将您的 while 语句更改为:

while(!Arrays.equals(stringarray, result)) {
//code here
}

并且您将避免另一个无限循环。

关于java - 无限循环问题,比较 java 中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8738210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com