//留下bug   为留念
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
 

 
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter; 
import java.io.FileReader; 
/*********
all
**********/
 
 
 class Student
{
 int id;

 int age;

  int score;

 String name;

public Student()
{

}

public Student(int id,  int age, int score,String name)
{
this.id = id;
this.age = age;
this.score = score;
this.name = name;
}

public int getId()
{
return id;
}

public void setId(int id)
{
this.id = id;
}

public int getAge()
{
return age;
}

public void setAge(int age)
{
this.age = age;
}

public int getScore()
{
return score;
}

public void setScore(int score)
{
this.score = score;
}

public String getName()
{
return name;
}

public void setName(String name)
{
this.name = name;
}

@Override
public String toString()
{
return "学号:" + id + " 姓名:" + name + " 年龄:" + age + " 成绩:" + score;
}
}

 
 class Manager
{
private List<Student> list;

public Manager(List<Student> list)
{
this.list = list;
}

public List<Student> getList()
{
return list;
}

public void setList(List<Student> list)
{
this.list = list;
}

 
public void add(Student s)
{
list.add(s);
}
 
public int search(int id)
{
for(Iterator<Student> iter = list.iterator(); iter.hasNext();)
{
Student s = iter.next();

if(s.getId() == id)
{
return s.getAge();
}
}
return -1;
}

//删除学生
public void remove(int id)
{
for(Iterator<Student> iter = list.iterator(); iter.hasNext();)
{
Student s = iter.next();

if(s.getId() == id)
{
list.remove(s);
}
}
}

 
public int allScore()
{
int score = 0;
int temp = 0;

for(Iterator<Student> iter = list.iterator(); iter.hasNext();)
{
Student s = iter.next();

temp = s.getScore();

score += temp;
}

return score;
}

//修改成绩
public void update(int id)
{
for(Iterator<Student> iter = list.iterator(); iter.hasNext();)
{
Student s = iter.next();

if(s.getId() == id)
{
s.setScore(s.getScore() + 10);
}
}
}
}

 
public class j
{
 public static void main(String[] args)
{
List<Student> list = new ArrayList<Student>();

Manager manager = new Manager(list);//创建一个管理者

Student s1 = new Student();//无参构造方法创建的学生实例

//通过方法设置s1的属性
s1.setId(201100);
s1.setAge(20);
s1.setScore(100);
s1.setName("wzzx00");

Student s2 = new Student(201101,21,98,"wzzx1");//通过带参数的构造方法创建实例
Student s3 = new Student(201102,25,95,"wzzx2");
Student s4 = new Student(201103,23,80,"wzzx3");
Student s5 = new Student(201104,28,78,"wzzx4");

//放到集合当中
manager.getList().add(s1);//添加学生
manager.getList().add(s2);
manager.getList().add(s3);
manager.getList().add(s4);
manager.getList().add(s5);

// System.out.println(list);
printf(list);

System.out.println(manager.allScore());

System.out.println(manager.search(201110));//根据学生学号查询学生年龄

manager.remove(201110);//删除学生

manager.update(201101);//修改成绩

boolean flag = false;
FileWriter fw = null;
BufferedWriter bw = null;

 
try {
fw = new FileWriter("javaout.txt", true);
bw = new BufferedWriter(fw, 100);
for ( Student integer : list) {
 System.out.println("integer wzzx" ); 
  bw.write(integer.name+" ");
 System.out.println(integer ); 
}

flag = true;
}
 catch (IOException e)
 {
   System.out.println("写入文件出错");
   flag = false;
  } 
// 
}
static void printf(List<Student> list)
{
System.out.println("wzzx overwride");

int size = list.size();

//Student [] arr = (Student[])list.toArray(new Student[size]);
 Student [] arr =  list.toArray(new Student[size]);  //ok
for(int i=0;i<size;i++)
{ 
 System.out.println(arr[i]); 
}
 System.out.println(list);
   
}
  
}