JAVA中一小题,新手急等答案,分全给

来源:百度知道 编辑:UC知道 时间:2024/05/17 13:36:34
设计一个程序,从文本文件中读入90个百分制的分数,按如下分段:0~39、40~49、50~59、60~69、70~79、80~89、90~100统计,并输出各分数段分数的个数以及各段分数个数占总个数的百分比。文件中的分数之间用逗号隔开如:78,90,92,85,88,87,87,73,75,81,86, 最后一个数字后面也有逗号

你不是之前问过一遍这个问题了吗?! 你既然又开了个问题,那我就把答案再发一遍好了!

首先利用IO流,获取文本文件内容,再以“,”拆分,将拆分的字符串转化为数字。利用if-else 判断大小:
另外有疑问:90个百分制的分数,那不就是有小数的意思吗?
你那几个分段无法包含39.7 之类的数字吧 所以我将分段改至[0,40);[40,50).... 应该看得懂吧 半开半闭
如果全是自然数的话 以下程序也能完成(但最好把转化成数字的函数换成Integer.parseInt(arr[i]) )专项专用嘛!
另外一下程序可以完成N个数字的统计(不单纯是90个)
如果你又需求必须是90个的话 那么可以再循环读取数字的时候,加个判断,当count==90时,跳出读取数字的循环!

FileInputStream fis=new FileInputStream("/home/soft01/abc.txt");//放入文件的位置
InputStreamReader isr=new InputStreamReader(fis);
BufferedReader br=new BufferedReader(isr);
int count=0;
double[] d=new double[100];
while(true){
String temp=br.readLine();
if(temp==null) break;
System.out.println(":"+temp);
String[] arr=temp.split(",");
for(int i=0;i<arr.length;i++){
if(arr[i]!=null || !arr[i].trim().equals("")){
d[count]=Double.parseDouble(arr[i]);
count++;
}
}