我的方法 findLargestDoubledChar 接受一个字符串,并在 c 是出现在其相同代码旁边的最大字符时返回字符 c。例如:findLargestDoubledChar(look)
返回 o
,findLargestDoubledChar(aaxx)
返回 x
。当没有 double 时,它应该返回 '\u0000'
我花了几个小时摆弄这段代码,这就是我所拥有的。我哪里出错了?
public static char findLargestDoubledChar(String string){
char largestDoubleChar = '\u0000';
String doubleChars = "";
char[] stringArray = string.toCharArray();
for(int x = 0; x < stringArray.length - 1; x++) {
for (int j = x + 1; j < stringArray.length; j++) {
if(stringArray[x] == stringArray[j]) {
System.out.println("Found Double!");
} else {
continue;
}
}
}
for (int i = 0; i < doubleChars.length(); i++) { //find largest of doubleChars
if (doubleChars.charAt(i) >= largestDoubleChar) {
largestDoubleChar = doubleChars.charAt(i);
} else {
largestDoubleChar = '\u0000';
continue;
}
}
return largestDoubleChar;
}
最佳答案
看起来您正在第二个循环中迭代 doubleChars,并将其设置为空字符串。也许这样的事情会更好:
public static char findLargestDoubledChar(String string){
char largestDoubleChar = '\u0000';
String doubleChars = "";
char[] stringArray = string.toCharArray();
for(int i = 0; i < stringArray.length - 1; i++) {
if (stringArray[i] == stringArray[i + 1]) {
System.out.println("Found Double!");
if (stringArray[i] > largestDoubleChar) largestDoubleChar = stringArray[i];
}
}
return largestDoubleChar;
}
关于java - 查找连续出现两次的最大字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58002400/