
package textstudent; |
import java.io.Serializable; |
public class Student implements Serializable { |
private String id; |
private String name; |
private int eng; |
private int math; |
private int comp; |
private int sum; |
public Student(String id,String name,int eng,int math,int comp){ |
this.id=id; |
this.name=name; |
this.eng=eng; |
this.math=math; |
this.comp=comp; |
sum(); |
} |
public Student(Student s){ |
this.id= s.id; |
this.name= s.name; |
this.eng=s.eng; |
this.math=s.math; |
this.comp=s.comp; |
sum(); |
} |
public void setId(String id){ |
this.id=id; |
} |
public void setName(String name){ |
this.name=name; |
} |
public void setEng(int eng) { |
this.eng = eng; |
} |
public void setMath(int math) { |
this.math = math; |
} |
public void setComp(int comp) { |
this.comp = comp; |
} |
public String getId() { |
return id; |
} |
public String getName() { |
return name; |
} |
public int getEng() { |
return eng; |
} |
public int getMath() { |
return math; |
} |
public int getComp() { |
return comp; |
} |
public int getSum() { |
return sum; |
} |
void sum(){ |
this.sum=eng+math+comp; |
} |
public String toString(){ |
return getId()+"\t"+getName()+"\t"+getEng()+"\t" |
+getMath()+"\t"+getComp()+"\t"+getSum(); |
} |
public boolean equals(Object x){ |
if(this.getClass()!=x.getClass()) |
return false; |
Student b=(Student) x; |
return (this.getId().equals(b.getId())); |
} |
public int compare(Student A){ |
if(this.getSum()>A.getSum()) |
return 1; |
else if(this.getSum()==A.getSum()) |
return 0; |
else |
return -1; |
} |
} |
---------------------------------------------------------------------------- |
package textstudent; |
public class StudentClass { |
private String name; |
static int capacity=40; |
private Student students[]; |
private int size; |
public StudentClass(String name, int size){ |
this.name=name; |
this.size=size; |
students=new Student[capacity]; |
} |
public String getName() { |
return name; |
} |
public static int getCapacity() { |
return capacity; |
} |
public Student[] getStudents() { |
return students; |
} |
public int getsize() { |
return size; |
} |
public void setName(String name) { |
this.name = name; |
} |
public static void setCapacity(int capacity) { |
StudentClass.capacity = capacity; |
} |
public void setSize(int size) { |
if(size>capacity){ |
System.out.println("size为"+size+",不能超过"+capacity); |
return; |
} |
this.size=size; |
} |
public void setStudents(Student... students) { |
for(int i=0;i<size;i++){ |
this.students[i]=new Student(students[i]); |
} |
this.size=students.length; |
} |
public String toString(){ |
String s; |
s="班级"+name+"\t"+"容量"+capacity+"\t"+"实际人数"+size+"\n\n"; |
s=s+"学号"+"\t"+"姓名"+"\t"+"英语"+"\t"+"数学"+"\t"+"计算机"+"\t"+"总成绩\n"; |
for(int i=0;i<size;i++){ |
s=s+students[i].getId()+"\t"+students[i].getName()+"\t"+students[i].getEng()+"\t"+students[i].getMath() |
+"\t"+students[i].getComp()+"\t"+students[i].getSum()+"\n"; |
} |
return s; |
} |
//查找 |
public int find(String id){ |
for(int i=0;i<size;i++) { |
if (students[i].getId().equals(id)) |
return i; |
} |
return -1; |
} |
//增加 |
public boolean add(Student aStudent){ |
if(size==capacity) |
return false; |
if(find(aStudent.getId())>=0) |
return false; |
this.students[size]=new Student(new String(aStudent.getId()),new String(aStudent.getName()), |
aStudent.getEng(),aStudent.getMath(),aStudent.getComp()); |
size++; |
return true; |
} |
//删除 |
public boolean del(Student aStudent){ |
int pos=find(aStudent.getId()); |
if(pos==-1) |
return false; |
for(int i=pos+1;i<size;i++){ |
students[i-1]=students[i]; |
} |
size--; |
return true; |
} |
public boolean del(String id){ |
int pos=find(id); |
if (pos==-1) |
return false; |
for(int i=pos+1;i<size;i++){ |
students[i-1]=students[i]; |
} |
size--; |
return true; |
} |
} |
-------------------------------------------------------- |
package textstudent; |
import java.io.*; |
public class Keyboard { |
static BufferedReader inputStream = new BufferedReader(new InputStreamReader(System.in)); |
public static int getInteger() { |
try { |
return(Integer.valueOf(inputStream.readLine().trim()).intValue()); |
} |
catch (Exception e) { |
e.printStackTrace(); |
return 0; |
} |
} |
public static String getString() { |
try { |
return(inputStream.readLine()); |
} |
catch (IOException e) { |
return "0"; |
} |
} |
} |
----------------------------------------------------------------- |
package textstudent; |
import java.io.*; |
public class Tester2 { |
public static void main(String[] args) throws IOException { |
Student students[] = new Student[5]; |
//从文件stu.ser中读出学生信息 |
try { |
FileInputStream fi = new FileInputStream("stu.ser"); |
ObjectInputStream si = new ObjectInputStream(fi); |
for (int i = 0; i < 5; i++) { |
students[i] = (Student) si.readObject(); |
} |
si.close(); |
} catch (Exception e) { |
System.out.println(e); |
} |
StudentClass aClass = new StudentClass("软件 0201", 5); |
aClass.setStudents(students); |
System.out.println(aClass); |
//查找 增加 删除测试 |
for (int i = 0; i < 2; i++){ |
System.out.println("输入查找的学号"); |
String id = Keyboard.getString(); |
if(aClass.find(id)<0){ |
System.out.println("不存在!"); |
} |
else{ |
System.out.println("存在!"); |
} |
} |
for(int i=0;i<2;i++){ |
Student aStudent = getAStudent(6+i); |
if(aClass.add(aStudent)){ |
System.out.println("添加成功"); |
} |
else{ |
System.out.println("不能添加"); |
} |
} |
for(int i=0;i<2;i++){ |
System.out.println("输入要删除的学号"); |
String id = Keyboard.getString(); |
if(aClass.del(id)){ |
System.out.println("已删除"); |
}else{ |
System.out.println("不存在"); |
} |
} |
System.out.println(aClass); |
} |
public static Student getAStudent(int i){ |
Student studenti; |
System.out.println("输入第"+i+"个学生的信息:"); |
System.out.print("学号:"); |
String id = Keyboard.getString(); |
System.out.print("姓名:"); |
String name = Keyboard.getString(); |
System.out.print("英语成绩:"); |
int eng = Keyboard.getInteger(); |
System.out.print("数学成绩:"); |
int math = Keyboard.getInteger(); |
System.out.print("计算机成绩:"); |
int comp = Keyboard.getInteger(); |
studenti = new Student(id,name,eng,math,comp); |
return studenti; |
} |
} |




初级程序员
by: 本仙女36D 发表于:2022-02-14 10:58:25 顶(0) | 踩(0) 回复
抢沙发
回复评论