如何查看大写和小写的txt文件? Java的

时间:2015-10-18 05:10:43

标签: java file char

我试图让我的代码读取一个txt文件,然后吐出一个角色出现的次数。

所以如果txt文件读取。

"我的我有多大了?"

如果我输入m,我需要它吐出3,但是使用下面的代码,我一直得到1.它不会读取大写字母。请帮忙吗?

public static void main(String[] args) throws IOException {

    String fileName;
    String inputLetter;
    int count = 0;



    fileName = JOptionPane.showInputDialog("Enter the filename: ");

    inputLetter = JOptionPane.showInputDialog("Enter a letter contained " +
            "in a string.");
    inputLetter.toLowerCase();
    char letterAsChar = inputLetter.charAt(0);

    File file = new File(fileName);
    Scanner inputFile = new Scanner(file);




    while (inputFile.hasNext())
    {
        String holdLine = inputFile.nextLine();
        for (int i = 0; i < holdLine.length(); i++)

        if (holdLine.charAt(i) == letterAsChar ||
        holdLine.charAt(i) == Character.toUpperCase(letterAsChar))
        {
            count++;
        }
    }


    System.out.println(count);

2 个答案:

答案 0 :(得分:1)

方法toLowerCase和friends返回一个String,因此您必须始终保存结果:

 inputLetter = inputLetter.toLowerCase();

最好转换整行以便进行更简单的处理:

 String holdLine = inputFile.nextLine().toLowerCase();

if (holdLine.charAt(i) == letterAsChar){
    count++;
}

答案 1 :(得分:0)

这样做

Character.toUpperCase(holdLine.charAt(i)))==Character.toUpperCase(letterAsChar))

两边都用小写或大写比较