用JAVA编写一个小程序
已知一个学生成绩文件,文件格式如下:学号,姓名,成绩001张三90.......用java编写一个小程序:统计出学生成绩的优秀率,良好率,及格率,不及格率谢谢~是从文件里...
已知一个学生成绩文件,文件格式如下:
学号,姓名,成绩
001 张三 90
... ... .
用java编写一个小程序:统计出学生成绩的优秀率,良好率,及格率,不及格率
谢谢~
是从文件里读~不是从数据库里读
就是针对一种文档而言的~是最简单的那种
用IO流的方法做吧~~ 展开
学号,姓名,成绩
001 张三 90
... ... .
用java编写一个小程序:统计出学生成绩的优秀率,良好率,及格率,不及格率
谢谢~
是从文件里读~不是从数据库里读
就是针对一种文档而言的~是最简单的那种
用IO流的方法做吧~~ 展开
3个回答
展开全部
你等我,我来写!
要加注释吗?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
要加注释吗?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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
您应该自己会做吧 ,这么懒哦~~我也懒得做了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
随机读取文件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询