计算文本文件中的数字



我碰巧修改了源代码,如主题"读取文本文件然后执行字符计数并打印每个文件的相对频率"所示。 我以这样一种方式更改了它,即非字母字符也会被计算在内(请参阅下面的源代码)......

import java.io.*;
public class letterfrequency {
    public static void main (String [] args) throws IOException {
        File file1 = new File ("letternumberfrequency.txt");
        BufferedReader in = new BufferedReader (new FileReader (file1));
        int nextChar;
        int other = 0;
        char ch;
        int [] count = new int [26];
        while ((nextChar = in.read())!= -1) {
            ch = ((char)nextChar);
            ch = Character.toLowerCase (ch);
            if (ch >= 'a' && ch <= 'z')
              count [ch- 'a']++;
            else
              other ++;
        }
        for (int i=0; i<26; i++){
            System.out.printf ("%c = %d n", i+ 'A', count [i]);
        }
        System.out.println ("Non-alphabetic characters: " + other);
        in.close ();
    }
}

但是,让我们说现在我在文本文件中有以下字符,"letternumberfrequency.txt":
71 鹅 - 83 汽车 - 58 头牛 - 64 只驼鹿 - 100 只蚂蚁 - 69 只手镯- 90 鼹鼠 - 87 鼻子

该文本文件中的数字将被视为字符串,对吗?但是我想提取数字,以便我也能够计算它们的频率 - 不是单个数字,而是整数(即有多少"71"、"83"、"58"、"64"等......使用"Double.parseDouble ()"会有帮助吗?

使用"Double.parseDouble ()"会有帮助吗?

不,不会。

您将首先在"-"字符串上拆分文件,然后在" "字符串上再次拆分找到的标记,修剪结果并使用Integer.parseInt(...)因为数字字符串肯定表示整数,而不是双精度。

相关内容

  • 没有找到相关文章

最新更新