用JAVA编写一个小程序

已知一个学生成绩文件,文件格式如下:学号,姓名,成绩001张三90.......用java编写一个小程序:统计出学生成绩的优秀率,良好率,及格率,不及格率谢谢~是从文件里... 已知一个学生成绩文件,文件格式如下:
学号,姓名,成绩
001 张三 90
... ... .
用java编写一个小程序:统计出学生成绩的优秀率,良好率,及格率,不及格率
谢谢~
是从文件里读~不是从数据库里读
就是针对一种文档而言的~是最简单的那种
用IO流的方法做吧~~
展开
 我来答
fish0715008
2008-09-17 · TA获得超过637个赞
知道答主
回答量:297
采纳率:0%
帮助的人:139万
展开全部
你等我,我来写!
要加注释吗?txt文件也贴给你吧。

import java.io.File;
import java.io.FileInputStream;

public class Test {
private static int excellentNum;
private static int goodNum;
private static int passNum;
private static int failNum;
private static int totalNum;

public static void count() {
String str = readFile();
String[] records = str.split("\n");
totalNum = records.length;
for(int i = 0; i < totalNum; i++) {
String[] record = records[i].split(" ");

String[] scoreStr = record[record.length -1].split("\r");
int score = Integer.parseInt(scoreStr[0]);

if(score >= 90) {
excellentNum++;
}else if(score >= 70) {
goodNum++;
}
if(score >= 60) {
passNum++;
}else {
failNum++;
}
}
}

public static void countExcellent() {
System.out.println("优秀率是: " + (float)excellentNum/totalNum*100 + "%");
}

public static void countGood() {
System.out.println("良好率是: " + (float)goodNum/totalNum*100 + "%");
}

public static void countPass() {
System.out.println("及格率是: " + (float)passNum/totalNum*100 + "%");
}

public static void countFail() {
System.out.println("不及格率是: " + (float)failNum/totalNum*100 + "%");
}

public static String readFile() {
File file = new File("D:\\score.txt");
StringBuffer sb = new StringBuffer();
try {
FileInputStream fis = new FileInputStream(file);
byte[] b = new byte[1024];
int length = 0;
while(fis.available() > 0) {
length = fis.read(b);
String str = new String(b, 0, length);
sb.append(str);
}
} catch (Exception e) {
e.printStackTrace();
}
return sb.toString();
}

public static void main(String[] args) {
count();
countExcellent();
countGood();
countPass();
countFail();
}
}

--------------------------------------
score.txt
001 小明 90
002 小伟 38
004 好地方 80
005 小明 90
006 小伟 38
007 好地方 80
008 小明 90
009 小伟 38
010 好地方 80
001 小明 90
011 小伟 38
012 好地方 80
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
卡路里3000
2008-09-17 · TA获得超过258个赞
知道小有建树答主
回答量:88
采纳率:0%
帮助的人:113万
展开全部
您应该自己会做吧 ,这么懒哦~~我也懒得做了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
捷睿小时
2008-09-17 · TA获得超过403个赞
知道小有建树答主
回答量:329
采纳率:0%
帮助的人:201万
展开全部
随机读取文件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式