【发布时间】:2013-12-17 14:30:55
【问题描述】:
我正在尝试编写一些代码来扫描输入文件中的回文,但它从每个单词而不是每一行获取字符串。例如,racecar 会显示为 racecar= palindrome 或 too hot to hoot = palindrome,但它会变得 too= not a palindrome、hot= not a palindrome 等。
这是我目前正在做的读取文件
File inputFile = new File( "c:/temp/palindromes.txt" );
Scanner inputScanner = new Scanner( inputFile );
while (inputScanner.hasNext())
{
dirtyString = inputScanner.next();
String cleanString = dirtyString.replaceAll("[^a-zA-Z]+", "");
int length = cleanString.length();
int i, begin, end, middle;
begin = 0;
end = length - 1;
middle = (begin + end)/2;
for (i = begin; i <= middle; i++) {
if (cleanString.charAt(begin) == cleanString.charAt(end)) {
begin++;
end--;
}
else {
break;
}
}
}
【问题讨论】:
-
你读过
Scannerapi吗?或许这种方法可以解决Scanner#nextLine() -
读取文件?我肯定会使用
BufferedReader -
您应该始终格式化您的代码。我对其进行了编辑,由于代码不完整,我不得不假设您打算添加两个
}。如果你格式化你的代码,你将能够发现这样的错误。