我需要使用 BufferedReader 从 textFile 中获取一个数字。当我得到它时,该数字以 ASCII 编码,我无法将其转换为整数。本练习用于课堂练习。练习:在带有 Windows 笔记本的文件夹中创建一个文本文件。该文件将包含整数,每行一个。用 Java 创建一个程序,它读取先前的数据文件并在屏幕上显示我们的值、平均值、最大值和最小值。用户将指明文件的名称。char valor;fs = new FileReader(path+filename);bf = new BufferedReader(fs)//THE TEXTFILE CONTAINS INT NUMBERS, FIRST OF THEM IS NUMER 3valor = (char)bf.read(); //I NEED THIS NUMBER, WITHOUT ASCII CODED//I NEED TO USE THIS VALUE FOR CALCULATE System.out.print(valor); //CONSOLE : 3---------------------------------------------//IF I CONVERT, CONSOLE SHOWSSystem.out.print((int)valor); //CONSOLE: 51
2 回答
慕桂英546537
TA贡献1848条经验 获得超10个赞
一种方法是使用Integer可以接受字符串输入的类中的构造函数:
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
int sum = 0;
int cnt = 0;
try (BufferedReader br = Files.newBufferedReader(Paths.get(path+filename))) {
String line;
while ((line = br.readLine()) != null) {
Integer val = new Integer(line);
if (val < min) min = val;
if (val > max) max = val;
sum += val;
++cnt;
}
}
catch (IOException e) {
System.err.format("IOException: %s%n", e);
}
System.out.println("average value: " + (sum / cnt));
System.out.println("highest value: " + max);
System.out.println("smallest value: " + min);
添加回答
举报
0/150
提交
取消