题目、
创建Student 类 包含属性:学号,姓名,年龄。创建构造方法完成学生基本信息的初始化;对每一个属性添加相应的getXXX,setXXX方法;重写toString()方法。
1.txt文件中包含30个学生的基本信息(学号,姓名,年龄),每个属性值之间用tab分割。设计学生测试类StudentTest,创建一个Student对象数组stuinfo;从“1.txt”读出学生的基本信息后放入stuinfo数组;foreach遍历数组并将信息输出到显示器上。
把学生信息写入1.TXT文件
package javaTest;
import java.io.*;
import java.util.*;
public class Demo09 {
public static void main(String[] args) throws IOException {
FileWriter fw=new FileWriter("E:\\文件\\大三上\\java\\1.txt");
List<Studs> li=new ArrayList<Studs>();
Studs[] ss=new Studs[30];
ss[0]=new Studs("201410010040","zs",18);
ss[1]=new Studs("201410010041","ls",19);
ss[2]=new Studs("201410010042","ww",20);
ss[3]=new Studs("201410010043","ml",19);
ss[4]=new Studs("201410010044","cs",18);
ss[5]=new Studs("201410010045","qr",20);
ss[6]=new Studs("201410010046","ab",21);
ss[7]=new Studs("201410010047","ac",22);
ss[8]=new Studs("201410010048","ad",21);
ss[9]=new Studs("201410010049","ae",20);
ss[10]=new Studs("201410010050","bw",18);
ss[11]=new Studs("201410010051","be",21);
ss[12]=new Studs("201410010052","br",20);
ss[13]=new Studs("201410010053","bt",19);
ss[14]=new Studs("201410010054","cz",22);
ss[15]=new Studs("201410010055","cq",20);
ss[16]=new Studs("201410010056","cr",21);
ss[17]=new Studs("201410010057","cy",20);
ss[18]=new Studs("201410010058","cu",20);
ss[19]=new Studs("201410010059","dq",18);
ss[20]=new Studs("201410010060","dw",19);
ss[21]=new Studs("201410010061","de",20);
ss[22]=new Studs("201410010062","dr",21);
ss[23]=new Studs("201410010063","dt",22);
ss[24]=new Studs("201410010064","dy",21);
ss[25]=new Studs("201410010065","ny",20);
ss[26]=new Studs("201410010066","nu",18);
ss[27]=new Studs("201410010067","ne",20);
ss[28]=new Studs("201410010068","nr",20);
ss[29]=new Studs("201410010069","my",18);
//把数组元素传到list表中
for(int i=0;i<ss.length;i++){
if(ss[i]!=null){
li.add(ss[i]);
}
}
//把list表中的元素写入到文件中
for(int i=0;i<li.size();i++){
//输出到屏幕上
System.out.println(li.get(i));
fw.write(li.get(i).toString()+"\r\n");
}
fw.flush();
fw.close();
}
}
class Studs{
String id;
String name;
int age;
public Studs(String id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
@Override
public String toString() {
return id + ", " + name + ", " + age;
}
}
用泛型与容器类实现学生信息的增删查改
package javaTest;
import java.io.*;
import java.util.*;
public class Demo10 {
public static void main(String[] args) throws IOException {
FileReader fr=new FileReader("E:\\文件\\大三上\\java\\1.txt");
BufferedReader br=new BufferedReader(fr);
ArrayList<Students> li=new ArrayList<Students>();
Scanner sc=new Scanner(System.in);
String str=null;
//把文件中的数据传到LIST表中
while((str=br.readLine())!=null){
String ss[]=str.split(", ");
li.add(new Students(ss[0],ss[1],Integer.parseInt(ss[2])));
}
//输出list表的数据
for(Students i:li){
System.out.println(i);
}
//增加学生信息
System.out.println("请输入增加学生的id:");
String id=sc.nextLine();
System.out.println("请输入学生姓名:");
String name=sc.nextLine();
System.out.println("请输入学生年龄:");
int age=sc.nextInt();
li.add(new Students(id,name,age));
//显示增加后的学生信息
Iterator<Students> it1=li.iterator();
while(it1.hasNext()){
System.out.println(it1.next().toString());
}
//删除学生信息
System.out.println("请输入要删除信息的学生id:");
Scanner sc1=new Scanner(System.in);
String id2=sc1.nextLine();
Iterator<Students> it2=li.iterator();
while(it2.hasNext()){
Object ob=it2.next().id;
if(id2.equals(ob)){
it2.remove();
}
}
//显示删除后的学生信息
for(Students i:li){
System.out.println(i);
}
//查找
System.out.println("请输入你要找的学生id:");
String no=sc1.nextLine();
Iterator<Students> it3=li.iterator();
while(it3.hasNext()){
Object ob=it3.next().id;
if(no.equals(ob)){
System.out.println(it3.toString());
}
}
//修改
System.out.println("请输入你要修改的学生id:");
String no2=sc1.nextLine();
System.out.println("请输入该学生修改后的姓名:");
String name2=sc1.nextLine();
System.out.println("请输入该学生修改后的年龄");
int ag=sc1.nextInt();
ListIterator<Students> lit=li.listIterator();
while(lit.hasNext()){
Object ob=lit.next().id;
if(no2.equals(ob)){
lit.set(new Students(no2,name2,ag));
}
}
for(Students i:li){
System.out.println(i);
}
}
}
class Students{
String id;
String name;
int age;
public Students(String id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
@Override
public String toString() {
return id + ", " + name + ", " + age;
}
}

被折叠的 条评论
为什么被折叠?



