我正在创建一个程序,它从数据文件calles“palindromes.txt”中读取字符串,并将字符串存储在一维数组中。该程序应检查每个字符串并判断每个字符串是否为pallindrome。它应该在屏幕上显示输出并显示在名为“output.txt”的文件中。
我遇到的问题是我无法弄清楚如何使输入/输出正确,我不确定使用数组的最佳方法。
对此非常新,请告知是否可以。 :)
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class Palindromes2
{
public static boolean isPalindrome(String dirtystr)
{
dirtystr = dirtystr.toLowerCase().replaceAll("[^a-zA-Z]+","");
int length = dirtystr.length(), middle = length / 2;
for (int x = 0; x < middle; x++)
if (dirtystr.charAt(x) != dirtystr.charAt(length - x - 1))
return false;
return true;
}
public static void main(String[] args) throws IOException
{
File inputFile = new File("output.txt");
try (Scanner scanner = new Scanner(inputFile))
{
while (scanner.hasNextLine())
{
String dirtystr = scanner.nextLine();
if (isPalindrome(dirtystr))
{
System.out.println(dirtystr + " IS a palindrome.");
}
else
{
System.out.println(dirtystr + " is NOT a palindrome.");
}
}
}
}
}