我正在尝试编写一些代码来扫描输入文件中的回文,但它从每个单词而不是每行获取字符串。一个例子是赛车会显示为racecar=回文或太热而不能叫=回文,但相反它会显示为too=不是回文,hot=不是回文等等。
这是我当前正在执行的读取文件的操作
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;
}
}
}
您需要进行以下更改
change
while (inputScanner.hasNext()) // This will check the next token.
and
dirtyString = inputScanner.next(); // This will read the next token value.
to
while (inputScanner.hasNextLine()) // This will check the next line.
and dirtyString = inputScanner.nextLine(); // This will read the next line value.
inputScanner.next() 将读取下一个标记
inputScanner.nextLine() 将读取一行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)