如何使用循环计算文本文件中的某些字符

时间:2016-02-22 23:44:50

标签: java

我需要一个项目的帮助,该项目统计了尤利西斯文本中的所有元音,由詹姆斯乔伊斯。我不知道如何让程序读取我插入项目根文件夹中的文本文件。我也不确定如何制作一个可以计算所有元音的循环。这是我到目前为止所做的。

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

    System.out.println("Vowel counts in Ulysses by James Joyce:");

    int a = 0;
    int e = 0;
    int i = 0;
    int o = 0;
    int u = 0;

    System.out.println("a = " + a);
    System.out.println("e = " + e);
    System.out.println("i = " + i);
    System.out.println("o = " + o);
    System.out.println("u = " + u);

        FileReader reader = new FileReader("ulysses.txt");
        Scanner input = new Scanner(reader);

        while (input.hasNextLine()) {
            String line = input.nextLine();
        }


    }}

输出应该看起来像这样(所有数字都是正确的):

Vowel counts in Ulysses by James Joyce:  
a = 94126   
e = 143276  
i = 82512  
o = 92743  
u = 33786

2 个答案:

答案 0 :(得分:0)

我必须这样做一次,我认为这与此类似。

while (input.hasNextLine()) {
        String line = input.nextLine();
        //toUpperCase() normalizes all the letters so you don't have to count upper and lower
        line.toUpperCase(); 
        char[] c = line.toCharArray(); 
        for (int j = 0; j < c.length(); j++)
        switch(c[i])
        {

        case "A";
            a++;
        case "E";
            e++;
        case "I";
            i++;
        case "O";
            o++;
        case "U";
            u++;

        }


    }

答案 1 :(得分:0)

import java.util.Scanner;

公共类Smashcode {

/C

希望你喜欢我的作品。快乐编码