方案一
import java.util.*;
import java.io.*;
class Examer{
public String name,admission_ticket,professnal_choose;
public int Math,English,Politics,Professional;
public int tatol_score;
static private int mathmin=60,tatomin=310,Englmin=60,polimin=60,profmin=60;
public boolean pass=false,fresh_graduates=false;
static public void setmin_socre() {
Scanner in=new Scanner(System.in);
System.out.print("set the min of all kinds of socre\n");
System.out.print("the min tatol_socre");
tatomin=in.nextInt();
System.out.print("the min Math_socre");
mathmin=in.nextInt();
System.out.print("the min English_socre");
Englmin=in.nextInt();
System.out.print("the min Polotics_socre");
polimin=in.nextInt();
System.out.print("the min Professional_socre");
profmin=in.nextInt();
}
public void get_socre() {
Scanner in=new Scanner(System.in);
System.out.print("name:");
name=in.next();
System.out.print("admission_ticket:");
admission_ticket=in.next();
System.out.print("professnal_choose:");
professnal_choose=in.next();
System.out.print("fresh_fraduates:");
fresh_graduates=in.nextBoolean();
System.out.print("Math,English,Politics,Professional\n");
Math=in.nextInt();
English=in.nextInt();
Politics=in.nextInt();
Professional=in.nextInt();
tatol_score=Math+English+Politics+Professional;
}
public boolean oj() {
if(tatol_score>=tatomin&&Math>=mathmin&&English>=Englmin&&Politics>=polimin&&Professional>=profmin) {
pass=true;
return true;
}
else pass=false;
return false;
}
@Override
public String toString() {
return "Examer [name=" + name + ", admission_ticket=" + admission_ticket + ", professnal_choose="
+ professnal_choose + ", Math=" + Math + ", English=" + English + ", Politics=" + Politics
+ ", Professional=" + Professional + ", tatol_score=" + tatol_score + ", fresh_graduates="
+ fresh_graduates + ", pass=" + pass + "]";
}
}
class Opertor{
public Examer[] examer=new Examer[201];
public Examer[] pass_examer=new Examer[201];
public int examer_n=0,pass_n=0;
public void add_examer(int n) {
for(int i=0;i<n;i++) {
examer[examer_n++]=new Examer();
examer[examer_n-1].get_socre();
}
}
public void get_pass() {
int n=0;
for(int i=0;i<examer_n;i++) {
if(examer[i].oj()) {
pass_examer[n++]=examer[i];
}
}
pass_n=n;
}
public void sortpasser() {
for(int i=0;i<pass_n;i++) {
for(int j=i;j<pass_n;j++) {
if(pass_examer[i].tatol_score<pass_examer[j].tatol_score) {
Examer tem=pass_examer[i];
pass_examer[i]=pass_examer[j];
pass_examer[j]=tem;
}
}
}
}
public void show() {
System.out.println("the info of examers:");
for(int i=0;i<examer_n;i++) {
System.out.println(examer[i].toString());
}
System.out.println("the info of pass_examers:");
for(int i=0;i<pass_n;i++) {
System.out.println(pass_examer[i].toString());
}
}
private String get_info(Examer ex) {
String s=ex.name+" "+ex.admission_ticket+" "+ex.professnal_choose+" "+ex.Math+" "+ex.English+" "+ex.Politics+" "+ex.Professional;
if(ex.fresh_graduates==true) {
s+=" "+1;
}
else {
s+=" "+0;
}
if(ex.pass==true) {
s+=" "+1;
}
else {
s+=" "+0;
}
return s;
}
public void save() {
File file_ex=new File("examer.txt");
if(!file_ex.exists()) {
try {
file_ex.createNewFile();
}catch(Exception e) {
System.out.print("create error!\n");
}
}
try {
OutputStream io_ex=new FileOutputStream("examer.txt");
for(int i=0;i<examer_n;i++) {
String s=get_info(examer[i])+"\n";
byte[] bytes=s.getBytes("UTF-8");
io_ex.write(bytes);
}
io_ex.close();
}catch(Exception de) {
System.out.print("1open error\n");
}
File file_pa=new File("examer_passer.txt");
if(!file_ex.exists()) {
try {
file_pa.createNewFile();
}catch(Exception e) {
System.out.print("create error!\n");
}
}
try {
OutputStream io_pa=new FileOutputStream("examer_passer.txt");
for(int i=0;i<pass_n;i++) {
String s=get_info(pass_examer[i])+"\n";
byte[] bytes=s.getBytes("UTF-8");
io_pa.write(bytes);
}
io_pa.close();
}catch(Exception de) {
System.out.print("2open error\n");
}
}
public void load() {
try {
FileInputStream fi_ex=new FileInputStream("examer.txt");
InputStreamReader In_ex=new InputStreamReader(fi_ex,"UTF-8");
BufferedReader Bu_ex=new BufferedReader(In_ex);
String s=Bu_ex.readLine();
for(int i=0;;i++) {
if(s==null) {
examer_n=i;
break;
}
String [] ss=s.split(" ");
examer[i]=new Examer();
examer[i].name=ss[0];
examer[i].admission_ticket=ss[1];
examer[i].professnal_choose=ss[2];
examer[i].Math=Integer.parseInt(ss[3]);
examer[i].English=Integer.parseInt(ss[4]);
examer[i].Politics=Integer.parseInt(ss[5]);
examer[i].Professional=Integer.parseInt(ss[6]);
if(ss[7].equals("1")) {
examer[i].fresh_graduates=true;
}
else {
examer[i].fresh_graduates=false;
}
examer[i].pass=false;
examer[i].tatol_score=examer[i].Math+examer[i].English+examer[i].Politics+examer[i].Professional;
s=Bu_ex.readLine();
}
}catch(Exception e) {
System.out.println("1not find");
}
try {
FileInputStream fi_pa=new FileInputStream("examer_passer.txt");
InputStreamReader In_pa=new InputStreamReader(fi_pa,"UTF-8");
BufferedReader Bu_pa=new BufferedReader(In_pa);
String s=Bu_pa.readLine();
for(int i=0;;i++) {
if(s==null) {
pass_n=i;
break;
}
String [] ss=s.split(" ");
pass_examer[i]=new Examer();
pass_examer[i].name=ss[0];
pass_examer[i].admission_ticket=ss[1];
pass_examer[i].professnal_choose=ss[2];
pass_examer[i].Math=Integer.parseInt(ss[3]);
pass_examer[i].English=Integer.parseInt(ss[4]);
pass_examer[i].Politics=Integer.parseInt(ss[5]);
pass_examer[i].Professional=Integer.parseInt(ss[6]);
if(ss[7].equals("1")) {
pass_examer[i].fresh_graduates=true;
}
else {
pass_examer[i].fresh_graduates=false;
}
pass_examer[i].pass=true;
pass_examer[i].tatol_score=pass_examer[i].Math+pass_examer[i].English+pass_examer[i].Politics+pass_examer[i].Professional;
s=Bu_pa.readLine();
}
}catch(Exception e) {
System.out.println("2not find");
}
}
}
class UI{
public Opertor txt=new Opertor();
public void yemian() {
System.out.print("Place choose what to do\n");
System.out.print("1 add new examer\n");
System.out.print("2 show the examers and pass_examers\n");
System.out.print("3 change the standard\n");
System.out.print("4 save and exit\n");
Scanner in=new Scanner(System.in);
int choose=in.nextInt();
switch(choose) {
case 1:
System.out.print("How much students you need to add:");
int n=in.nextInt();
txt.add_examer(n);
System.out.println("add finish");
break;
case 2:
txt.get_pass();
txt.sortpasser();
txt.show();
break;
case 3:
txt.examer[0].setmin_socre();
break;
case 4:
System.out.print("saving\n");
txt.get_pass();
txt.save();
System.out.print("saved\nexit\n");
System.exit(0);
break;
default:
System.out.print("illegal number\n");
}
yemian();
}
public void init() {
System.out.println("loading");
txt.load();
System.out.println("success");
yemian();
}
}
public class text {
public static void main(String[] args) {
UI text=new UI();
text.init();
}
}
方案二
import java.io.*;
import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Examer{
public String name,admission_ticket,professnal_choose;
public int Math,English,Politics,Professional;
public int tatol_score;
static public int mathmin=60,tatomin=310,Englmin=60,polimin=60,profmin=60;
public boolean pass=false,fresh_graduates=false;
static public void setmin_socre() {
Scanner in=new Scanner(System.in);
System.out.print("set the min of all kinds of socre\n");
System.out.print("the min tatol_socre");
tatomin=in.nextInt();
System.out.print("the min Math_socre");
mathmin=in.nextInt();
System.out.print("the min English_socre");
Englmin=in.nextInt();
System.out.print("the min Polotics_socre");
polimin=in.nextInt();
System.out.print("the min Professional_socre");
profmin=in.nextInt();
}
public void get_socre() {
Scanner in=new Scanner(System.in);
System.out.print("name:");
name=in.next();
System.out.print("admission_ticket:");
admission_ticket=in.next();
System.out.print("professnal_choose:");
professnal_choose=in.next();
System.out.print("fresh_fraduates:");
fresh_graduates=in.nextBoolean();
System.out.print("Math,English,Politics,Professional\n");
Math=in.nextInt();
English=in.nextInt();
Politics=in.nextInt();
Professional=in.nextInt();
tatol_score=Math+English+Politics+Professional;
}
public boolean oj() {
tatol_score=Math+English+Politics+Professional;
if(tatol_score>=tatomin&&Math>=mathmin&&English>=Englmin&&Politics>=polimin&&Professional>=profmin) {
pass=true;
return true;
}
else pass=false;
return false;
}
@Override
public String toString() {
return "Examer [名字=" + name + ", 准考证号=" + admission_ticket + ", 专业选择="
+ professnal_choose + ", 数学=" + Math + ", 英语=" + English + ", 政治=" + Politics
+ ", 专业成绩=" + Professional + ", 总分=" + tatol_score + ", 是否应届生="
+ fresh_graduates + ", 是否通过=" + pass + "]";
}
}
class opertor{
public static Examer[] examer=new Examer[201];
public static Examer[] pass_examer=new Examer[201];
public static int examer_n=0,pass_n=0;
public static void add_examer(int n) {
for(int i=0;i<n;i++) {
examer[examer_n++]=new Examer();
examer[examer_n-1].get_socre();
}
}
public static void get_pass() {
int n=0;
for(int i=0;i<examer_n;i++) {
if(examer[i].oj()) {
pass_examer[n++]=examer[i];
}
}
pass_n=n;
}
public static void sortpasser() {
for(int i=0;i<pass_n;i++) {
for(int j=i;j<pass_n;j++) {
if(pass_examer[i].tatol_score<pass_examer[j].tatol_score) {
Examer tem=pass_examer[i];
pass_examer[i]=pass_examer[j];
pass_examer[j]=tem;
}
}
}
}
public static void show() {
System.out.println("the info of examers:");
for(int i=0;i<examer_n;i++) {
System.out.println(examer[i].toString());
}
System.out.println("the info of pass_examers:");
for(int i=0;i<pass_n;i++) {
System.out.println(pass_examer[i].toString());
}
}
private static String get_info(Examer ex) {
String s=ex.name+" "+ex.admission_ticket+" "+ex.professnal_choose+" "+ex.Math+" "+ex.English+" "+ex.Politics+" "+ex.Professional;
if(ex.fresh_graduates==true) {
s+=" "+1;
}
else {
s+=" "+0;
}
if(ex.pass==true) {
s+=" "+1;
}
else {
s+=" "+0;
}
return s;
}
public static void save() {
File file_ex=new File("examer.txt");
if(!file_ex.exists()) {
try {
file_ex.createNewFile();
}catch(Exception e) {
System.out.print("create error!\n");
}
}
try {
OutputStream io_ex=new FileOutputStream("examer.txt");
for(int i=0;i<examer_n;i++) {
String s=get_info(examer[i])+"\n";
byte[] bytes=s.getBytes("UTF-8");
io_ex.write(bytes);
}
io_ex.close();
}catch(Exception de) {
System.out.print("1open error\n");
}
File file_pa=new File("examer_passer.txt");
if(!file_ex.exists()) {
try {
file_pa.createNewFile();
}catch(Exception e) {
System.out.print("create error!\n");
}
}
try {
OutputStream io_pa=new FileOutputStream("examer_passer.txt");
for(int i=0;i<pass_n;i++) {
String s=get_info(pass_examer[i])+"\n";
byte[] bytes=s.getBytes("UTF-8");
io_pa.write(bytes);
}
io_pa.close();
}catch(Exception de) {
System.out.print("2open error\n");
}
}
public static void load() {
try {
FileInputStream fi_ex=new FileInputStream("examer.txt");
InputStreamReader In_ex=new InputStreamReader(fi_ex,"UTF-8");
BufferedReader Bu_ex=new BufferedReader(In_ex);
String s=Bu_ex.readLine();
for(int i=0;;i++) {
if(s==null) {
examer_n=i;
break;
}
String [] ss=s.split(" ");
examer[i]=new Examer();
examer[i].name=ss[0];
examer[i].admission_ticket=ss[1];
examer[i].professnal_choose=ss[2];
examer[i].Math=Integer.parseInt(ss[3]);
examer[i].English=Integer.parseInt(ss[4]);
examer[i].Politics=Integer.parseInt(ss[5]);
examer[i].Professional=Integer.parseInt(ss[6]);
if(ss[7].equals("1")) {
examer[i].fresh_graduates=true;
}
else {
examer[i].fresh_graduates=false;
}
examer[i].pass=false;
examer[i].tatol_score=examer[i].Math+examer[i].English+examer[i].Politics+examer[i].Professional;
s=Bu_ex.readLine();
}
}catch(Exception e) {
System.out.println("1not find");
}
try {
FileInputStream fi_pa=new FileInputStream("examer_passer.txt");
InputStreamReader In_pa=new InputStreamReader(fi_pa,"UTF-8");
BufferedReader Bu_pa=new BufferedReader(In_pa);
String s=Bu_pa.readLine();
for(int i=0;;i++) {
if(s==null) {
pass_n=i;
break;
}
String [] ss=s.split(" ");
pass_examer[i]=new Examer();
pass_examer[i].name=ss[0];
pass_examer[i].admission_ticket=ss[1];
pass_examer[i].professnal_choose=ss[2];
pass_examer[i].Math=Integer.parseInt(ss[3]);
pass_examer[i].English=Integer.parseInt(ss[4]);
pass_examer[i].Politics=Integer.parseInt(ss[5]);
pass_examer[i].Professional=Integer.parseInt(ss[6]);
if(ss[7].equals("1")) {
pass_examer[i].fresh_graduates=true;
}
else {
pass_examer[i].fresh_graduates=false;
}
pass_examer[i].pass=true;
pass_examer[i].tatol_score=pass_examer[i].Math+pass_examer[i].English+pass_examer[i].Politics+pass_examer[i].Professional;
s=Bu_pa.readLine();
}
}catch(Exception e) {
System.out.println("2not find");
}
}
}
class UI{
static public opertor txt=new opertor();
public myUI get=new myUI();
public void yemian() {
System.out.print("Place choose what to do\n");
System.out.print("1 add new examer\n");
System.out.print("2 show the examers and pass_examers\n");
System.out.print("3 change the standard\n");
System.out.print("4 save and exit\n");
Scanner in=new Scanner(System.in);
int choose=in.nextInt();
switch(choose) {
case 1:
System.out.print("How much students you need to add:");
int n=in.nextInt();
txt.add_examer(n);
System.out.println("add finish");
break;
case 2:
txt.get_pass();
txt.sortpasser();
txt.show();
break;
case 3:
txt.examer[0].setmin_socre();
break;
case 4:
System.out.print("saving\n");
txt.get_pass();
txt.save();
System.out.print("saved\nexit\n");
System.exit(0);
break;
default:
System.out.print("illegal number\n");
}
yemian();
}
public void init() {
System.out.println("loading");
txt.load();
System.out.println("success");
get.init();
}
}
class myUI extends JFrame{
opertor content=new opertor();
ReaderListen1 listen1;
ReaderListen2 listen2;
ReaderListen3 listen3;
ReaderListen4 listen4;
public JTextField []text=new JTextField[9],add_it=new JTextField[5];
public JTextArea showarea ;
public JLabel []label=new JLabel[9],addla=new JLabel[5];
public JFrame window;
public JButton button1,button2,button3,button4;
public void init() {
window=new JFrame("Grade System");
window.setBounds(50, 50, 1000, 650);
window.setVisible(true);
button1=new JButton("add");
window.add(button1);
button1.setBounds(60, 60, 100, 50);
button2=new JButton("changes");
window.add(button2);
button2.setBounds(60, 120, 100, 50);
button3=new JButton("show");
window.add(button3);
button3.setBounds(60, 180, 100, 50);
button4=new JButton("save");
window.add(button4);
button4.setBounds(60, 240, 100, 50);
label[0]=new JLabel("名字");
label[1]=new JLabel("准考证号");
label[2]=new JLabel("专业选择");
label[3]=new JLabel("数学成绩");
label[4]=new JLabel("英语成绩");
label[5]=new JLabel("政治成绩");
label[6]=new JLabel("专业成绩");
label[7]=new JLabel("应届生");
for(int i=0;i<8;i++) {
text[i]=new JTextField(9);
window.add(text[i]);
text[i].setBounds(160+i*82, 80, 80, 30);
text[i].addActionListener(listen1);
window.add(label[i]);
label[i].setBounds(160+i*82, 55, 80, 30);
}
listen1=new ReaderListen1();
for(int i=0;i<9;i++) {
listen1.text[i]=text[i];
}
button1.addActionListener(listen1);
addla[0]=new JLabel("总分");
addla[1]=new JLabel("数学成绩");
addla[2]=new JLabel("英语成绩");
addla[3]=new JLabel("政治成绩");
addla[4]=new JLabel("专业成绩");
listen2=new ReaderListen2();
button2.addActionListener(listen2);
for(int i=0;i<5;i++) {
add_it[i]=new JTextField();
window.add(add_it[i]);
add_it[i].setBounds(160+i*82, 140, 80, 30);
listen2.text[i]=add_it[i];
window.add(addla[i]);
addla[i].setBounds(160+i*82, 115, 80, 30);
}
listen3=new ReaderListen3();
button3.addActionListener(listen3);
listen4=new ReaderListen4();
button4.addActionListener(listen4);
window.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
}
class ReaderListen1 implements ActionListener {
public JTextField[] text=new JTextField[9];
public String []ss=new String[9];
@Override
public void actionPerformed(ActionEvent e) {
for(int i=0;i<8;i++) {
ss[i]=text[i].getText();
if(ss[i].equals("")) {
JOptionPane.showMessageDialog(null, "有空输入","添加",JOptionPane.ERROR_MESSAGE);
return;
}
}
int i=opertor.examer_n++;
opertor.examer[i]=new Examer();
opertor.examer[i].name=ss[0];
opertor.examer[i].admission_ticket=ss[1];
opertor.examer[i].professnal_choose=ss[2];
opertor.examer[i].Math=Integer.parseInt(ss[3]);
opertor.examer[i].English=Integer.parseInt(ss[4]);
opertor.examer[i].Politics=Integer.parseInt(ss[5]);
opertor.examer[i].Professional=Integer.parseInt(ss[6]);
opertor.examer[i].fresh_graduates=Boolean.parseBoolean(ss[7]);
JOptionPane.showMessageDialog(null, "succeed","添加",JOptionPane.PLAIN_MESSAGE);
for(i=0;i<8;i++) {
text[i].setText("");
}
}
}
class ReaderListen2 implements ActionListener {
opertor content=new opertor();
public JTextField []text=new JTextField[5];
String []s=new String[5];
@Override
public void actionPerformed(ActionEvent e) {
for(int i=0;i<5;i++) {
s[i]=text[i].getText();
if(s[i].equals("")) {
JOptionPane.showMessageDialog(null, "有空输入","设置最低分",JOptionPane.ERROR_MESSAGE);
return;
}
}
Examer.tatomin=Integer.parseInt(s[0]);
Examer.mathmin=Integer.parseInt(s[1]);
Examer.Englmin=Integer.parseInt(s[2]);
Examer.polimin=Integer.parseInt(s[3]);
Examer.profmin=Integer.parseInt(s[4]);
JOptionPane.showMessageDialog(null, "succed","change",JOptionPane.PLAIN_MESSAGE);
}
}
class ReaderListen3 implements ActionListener {
opertor content=new opertor();
public JTextArea area;
public String s="nice";
@Override
public void actionPerformed(ActionEvent e) {
JFrame tem=new JFrame();
area=new JTextArea();
tem.setBounds(50, 50, 1000, 600);
tem.add(area);
tem.setVisible(true);
opertor.get_pass();
opertor.sortpasser();
area.setText("");
area.append("the examer(s):\n");
for(int i=0;i<opertor.examer_n;i++) {
area.append((i+1)+" "+opertor.examer[i].toString()+"\n");
}
area.append("the pass_examer(s):\n");
for(int i=0;i<opertor.pass_n;i++) {
area.append((i+1)+" "+opertor.pass_examer[i].toString()+"\n");
}
}
}
class ReaderListen4 implements ActionListener {
opertor content=new opertor();
@Override
public void actionPerformed(ActionEvent e) {
opertor.sortpasser();
opertor.save();
JOptionPane.showMessageDialog(null, "succed","saving",JOptionPane.PLAIN_MESSAGE);
}
}
public class Main{
public static void main(String[] args) {
UI a=new UI();
a.init();
}
}