java简易成绩管理程序
来源:互联网 发布:国外无法访问国内网络 编辑:程序博客网 时间:2024/04/30 20:11
刚学完io老师布置的简易成绩管理程序作业,程序如下,本人程序如下(感谢室友及对门室友帮助调试):
源程序文件1:
package qwe;
import java.util.*;
class Student {
private String name;
private int java, sql, vb,id;
public int mc;
private int sco ;
public int getId()
{
return id;
}
public String getName()
{
return name;
}
public int getJAVA()
{
return java;
}
public int getSQL()
{
return sql;
}
public int getVB()
{
return vb;
}
public int getSco()
{
return sco;
}
public void setId( int i )
{
id = i;
}
public void setName(String n)
{
name = n;
}
public void setJAVA(int j)
{
java =j;
}
public void setSQL(int s)
{
sql = s;
}
public void setVB(int v)
{
vb = v;
}
public void setSco()
{
sco = vb + sql + java;
}
public String toString()
{
return id +" "+ name +" "+ java +" "+ sql +" "+ vb +" "+ sco + " " +mc;
}
}
源程序文件2:
package qwe;
import java.util.*;
class ComTypeComparator implements Comparator<Student>{
public int compare(Student o1, Student o2){
return (o1.getSco() < o2.getSco() ? -1 :(o1.getSco() == o2.getSco() ? 0 :1));
}
}
class ComTypeComparator2 implements Comparator<Student>{
public int compare(Student o1, Student o2){
return ((o1.getId() < o2.getId() ? -1 :(o1.getId() == o2.getId() ? 0 :1)));
}
}
class AchievementList {
public final static int CLASS_COUNT = 100;//班上人数
private final static int TSCO_JIGEXIAN = 180;//三科总分的及格线
private Student[] classstu = new Student[CLASS_COUNT];
private double Jave;//各科目班上平均成绩
private double Save;
private double Vave;
private double Tave;
private int maxJsco;//各项成绩班上最高分
private int maxSsco;
private int maxVsco;
private int maxTsco;
private int minJsco;//各项成绩班上最低分
private int minSsco;
private int minVsco;
private int minTsco;
private int Jbujicount;//各项成绩班上不及格人数
private int Sbujicount;
private int Vbujicount;
private int Tbujicount;
public AchievementList(Student [] stu)
{
classstu = stu;
}
public void setJmax()//计算并设置各项成绩最高分
{
int[] j = new int[StudentManager.lineNum] ;
for(int i = 0; i < StudentManager.lineNum; i++)
j[i] = classstu[i].getJAVA();
Arrays.sort(j);
maxJsco = j[StudentManager.lineNum - 1];
}
public void setSmax()
{
int[] s = new int[StudentManager.lineNum] ;
for(int i = 0; i < StudentManager.lineNum; i++)
s[i] = classstu[i].getSQL();
Arrays.sort(s);
maxSsco = s[StudentManager.lineNum - 1];
}
public void setVmax()
{
int[] v = new int[StudentManager.lineNum] ;
for(int i = 0; i < StudentManager.lineNum; i++)
v[i] = classstu[i].getVB();
Arrays.sort(v);
maxVsco = v[StudentManager.lineNum - 1];
}
public void setTmax()
{
int[] t = new int[StudentManager.lineNum] ;
for(int i = 0; i <StudentManager.lineNum; i++)
t[i] = classstu[i].getSco();
Arrays.sort(t);
maxTsco = t[StudentManager.lineNum - 1];
}
public void setJmin()//计算并设置各项成绩最低分
{
int[] j = new int[StudentManager.lineNum] ;
for(int i = 0; i < StudentManager.lineNum; i++)
j[i] = classstu[i].getJAVA();
Arrays.sort(j);
minJsco = j[0];
}
public void setSmin()
{
int[] s = new int[StudentManager.lineNum] ;
for(int i = 0; i < StudentManager.lineNum; i++)
s[i] = classstu[i].getSQL();
Arrays.sort(s);
minSsco = s[0];
}
public void setVmin()
{
int[] v = new int[StudentManager.lineNum] ;
for(int i = 0; i < StudentManager.lineNum; i++)
v[i] = classstu[i].getVB();
Arrays.sort(v);
minVsco = v[0];
}
public void setTmin()
{
int[] t = new int[StudentManager.lineNum] ;
for(int i = 0; i < StudentManager.lineNum; i++)
t[i] = classstu[i].getSco();
Arrays.sort(t);
minTsco = t[0];
}
public void setJbuji()//计算并设置各项成绩不及格人数
{
int counter = 0;
for(int i = 0; i <StudentManager.lineNum; i++)
{
if(classstu[i].getJAVA() < 60)
counter++;
}
Jbujicount = counter;
}
public void setSbuji()
{
int counter = 0;
for(int i = 0; i < StudentManager.lineNum; i++)
{
if(classstu[i].getSQL() < 60)
counter++;
}
Sbujicount = counter;
}
public void setVbuji()
{
int counter = 0;
for(int i = 0; i < StudentManager.lineNum; i++)
{
if(classstu[i].getVB() < 60)
counter++;
}
Vbujicount = counter;
}
public void setTbuji()
{
int counter = 0;
for(int i = 0; i < StudentManager.lineNum; i++)
{
if(classstu[i].getSco() < TSCO_JIGEXIAN)
counter++;
}
Tbujicount = counter;
}
public void setJave()//计算和设置各科的班上平均成绩
{
int sum = 0;
int[] j = new int[StudentManager.lineNum] ;
for(int i = 0; i <StudentManager.lineNum; i++)
j[i] = classstu[i].getJAVA();
for(int i = 0; i < StudentManager.lineNum; i++)
sum = sum + j[i];
Jave = sum / StudentManager.lineNum;
}
public void setSave()
{
int sum = 0;
int[] j = new int[StudentManager.lineNum] ;
for(int i = 0; i < StudentManager.lineNum; i++)
j[i] = classstu[i].getSQL();
for(int i = 0; i < StudentManager.lineNum; i++)
sum = sum + j[i];
Save = sum / StudentManager.lineNum;
}
public void setVave()
{
int sum = 0;
int[] j = new int[StudentManager.lineNum] ;
for(int i = 0; i < StudentManager.lineNum; i++)
j[i] = classstu[i].getVB();
for(int i = 0; i <StudentManager.lineNum; i++)
sum = sum + j[i];
Vave = sum / StudentManager.lineNum;
}
public void setTave()
{
int sum = 0;
int[] j = new int[StudentManager.lineNum] ;
for(int i = 0; i < StudentManager.lineNum; i++)
j[i] = classstu[i].getSco();
for(int i = 0; i < StudentManager.lineNum; i++)
sum = sum + j[i];
Tave = sum / StudentManager.lineNum;
}
public String printAve()
{
return "各科班上的平均分: " + " java: " + Jave + " sql: " + Save + " vb: " + Vave + " 总分平均分: " + Tave;
}
public String printMax()
{
return "各科班上最高分: " + " java: " + maxJsco + " sql: " + maxSsco + " vb: " + maxVsco + " 总分最高分: " + maxTsco;
}
public String printMin()
{
return "各科班上最低分: " + " java: " + minJsco + " sql: " + minSsco + " vb: " + minVsco + " 总分最低分: " + minTsco;
}
public String printBujicount()
{
return "各科班上不及格人数"+ " java: " + Jbujicount + " sql: " + Sbujicount + " vb: " + Vbujicount + " 总分最低分: " + Tbujicount;
}
public void setMc()
{
Student[] classstu1=new Student[StudentManager.lineNum];
for(int i=0;i<StudentManager.lineNum;i++)
classstu1[i]=classstu[i];
Arrays.sort(classstu1, new ComTypeComparator());
for(int i = 0; i < StudentManager.lineNum; i++)
{
classstu1[i].mc = StudentManager.lineNum - i;
}
Arrays.sort(classstu1,new ComTypeComparator2());
}
}
源程序文件3:
package qwe;
import java.io.*;
import java.util.*;
public class StudentManager {
static int lineNum = 0;
/**
* @param args
*/
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
try{ InputStreamReader iin = new InputStreamReader(System.in);
BufferedReader bin = new BufferedReader(iin);
File file1 = new File("d://class1.txt");
FileWriter fw1 = new FileWriter(file1);
BufferedWriter bw = new BufferedWriter(fw1);
String re;
System.out.println("请输入:学号,姓名,各科成绩,以空格隔开,输入下条记录按回车");
re = bin.readLine();
while(true)
{
System.out.flush();
if(re.length() == 0) break;
bw.write(re);
bw.newLine();
re = bin.readLine();
}
bw.close();
Student[] cla = new Student[AchievementList.CLASS_COUNT];
FileReader fi = new FileReader(file1);
BufferedReader br = new BufferedReader(fi);
String se = br.readLine();
while (se != null)
{
Scanner scan = new Scanner(se);
cla[lineNum] = new Student();
cla[lineNum].setId(scan.nextInt());
cla[lineNum].setName(scan.next());
cla[lineNum].setJAVA(scan.nextInt());
cla[lineNum].setSQL(scan.nextInt());
cla[lineNum].setVB(scan.nextInt());
cla[lineNum].setSco();
se = br.readLine();
lineNum++;
}
AchievementList class1 = new AchievementList(cla);
class1.setJave();
class1.setJbuji();
class1.setJmax();
class1.setJmin();
class1.setSave();
class1.setSbuji();
class1.setSmax();
class1.setSmin();
class1.setVave();
class1.setVbuji();
class1.setVmax();
class1.setVmin();
class1.setTave();
class1.setTbuji();
class1.setTmax();
class1.setTmin();
class1.setMc();
File file2 = new File("d://class2.xls");
FileWriter fw2 = new FileWriter(file2);
BufferedWriter bw2 = new BufferedWriter(fw2);
//System.out.flush();
bw2.write(" 成绩表 ");
bw2.newLine();
bw2.write("学号 姓名 java sql vb 总分 名次");
bw2.newLine();
//System.out.flush();
for(int i = 0; i <lineNum; i++)
{
bw2.write(cla[i].toString());
bw2.newLine();
//System.out.flush();
}
bw2.write(class1.printAve());
bw2.newLine();
bw2.write(class1.printBujicount());
bw2.newLine();
bw2.write(class1.printMax());
bw2.newLine();
bw2.write(class1.printMin());
bw2.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
- java简易成绩管理程序
- java IO 集合 学生成绩管理程序
- 一个学生成绩管理程序
- 学生成绩管理程序
- 学生成绩管理程序
- 两天 写出简易数据库管理程序
- 一个简单的学生成绩管理程序
- 高中成绩管理程序又升级了
- 将成绩管理程序升级为网络版记
- C语言完成一个学生成绩管理程序
- C语言编写的学生成绩管理程序
- 基于C语言单链表的成绩管理程序
- java编写食品管理程序
- JAVA 家庭收支管理程序
- java简单酒店管理程序
- 简易成绩查询系统
- 简易成绩查询系统
- 成绩处理简易版
- 怎样在快速启动栏中填加显示桌面
- GDI+学习笔记一
- 在大学如何使用电脑
- 我人生的IT之旅从今晚开始
- javascript 事件处理 IE和标准dom 的差别
- java简易成绩管理程序
- SRM 400 DIV2 [250]
- ADS ADS1.2 内存字节对齐
- SRM 400 DIV2 [500]
- Javascript attachEvent传递参数的办法
- visual c++学习笔记socket编程
- TinyXML 解析中文XML
- SRM 397 DIV2 [1000]
- GVIM设置文件编码