为Palindrome程序实现数组

时间:2015-11-23 02:42:45

标签: arrays

我正在创建一个程序,它从数据文件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.");
                }
            }
        }
    }
}

0 个答案:

没有答案