天天看點

java ascall碼轉換_Java開發網 - 大小寫轉換 ASCII碼

我的目的是計算一個文本檔案file.txt裡A-Z字母的個數。

file.txt檔案裡随便輸入的字母。

Sp.java檔案如下:

import java.io.*;

public class Sp

{

public static void main(String arg[])

{

int count[] = new int[26];

char ch;

int sum = 0;

double per[] = new double[26];

float bar = 0;

try

{

DataInputStream in = new DataInputStream(new BufferedInputStream(

new FileInputStream("file.txt")));

while (in.available() != 0)

{

char word = ((char) in.readByte());

word = Character.toUpperCase(word);

if (word - 'A' >= 0 && word - 'A' < 26)

{

count[word - 'A']++;

}

}

}

catch (IOException e)

{

System.out.println(e.toString());

}

for (int i = 0; i < 26; i++)

{

sum = sum + count[i];

}

System.out.println("Total: " + sum);

for (int i = 0; i < 26; i++)

{

per[i] = count[i] / sum * 100;

bar = Math.round(per[i]);

ch = (char) (i + 65);

System.out.print(ch + ": " + count[i] + '\t' + per[i] + "%" + '\t');

for (int j = 0; j < (bar / 2); j++)

{

System.out.print("*");

}

System.out.println();

}

}

}

百分比計算錯誤,也就是per[i]值為0,事實上不是如此。