您当前的位置: 首页 >  ar

Gutie_bartholomew

暂无认证

  • 2浏览

    0关注

    378博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Io流练习:键盘录入6个学员信息(录入格式:张三,男,25),要求有两个相同的信息,将6个学员信息存入到ArrayList集合中

Gutie_bartholomew 发布时间:2018-01-24 15:29:30 ,浏览量:2

/*分析以下需求,并用代码实现 1.定义学生类,包含姓名(String name),性别(String gender),年龄(int age)三个属性,生成空参有参构造,set和get方法,toString方法 2.键盘录入6个学员信息(录入格式:张三,男,25),要求有两个相同的信息,将6个学员信息存入到ArrayList集合中 3.将存有6个学员信息的ArrayList集合对象写入到D:\\StudentInfo.txt文件中 4.读取D:\\StudentInfo.txt文件中的ArrayList对象并遍历打印 5.对ArrayList集合中的6个学生对象进行去重,将去重后的结果利用PrintWriter流写入到E:\\StudentInfo.txt文件中(写入格式:张三-男-25)*/

package pxyhomeworkday10;
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.PrintWriter; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.Scanner;
public class demo {  public static void main(String[] args) throws IOException, IOException, ClassNotFoundException {  ArrayList sl=new ArrayList();  sl.addAll(getStuInfo());//(2)将录入的6个学员信息存入到ArrayList集合中  duixiangshuruliu(sl);//(3)调用方法,将存有6个学员信息的ArrayList集合对象写入到D:\\duixiang1.txt文件中  ArrayList al=readthe();//(4)读取D:\\duixiang1.txt文件中的ArrayList对象并遍历打印,并把对象列表存入al  //去重  HashSet hs=new HashSet();  for (int i = 0; i < al.size(); i++) {   hs.add(al.get(i));  }  dayinliu(hs);//(5)对ArrayList集合中的6个学生对象进行去重,将去重后的结果利用PrintWriter流写入到D:\\duixianglast.txt文件中  }//主程序末尾处    //(5)将去重后的结果利用PrintWriter流写入到D:\\duixianglast.txt文件中  public static void dayinliu(HashSet hs1) throws IOException{   PrintWriter pw=new PrintWriter(new FileWriter("D:\\duixianglast.txt"),true);   for (Student student : hs1) {    pw.println(student.getName()+"-"+student.getGender()+"-"+student.getAge());   }   pw.close();  }    public static ArrayList readthe() throws FileNotFoundException, IOException, ClassNotFoundException{  //(4)读取D:\\duixiang1.txt文件中的ArrayList对象并遍历打印   //读取的是对象,使用的是对象输入流,需要与对象输出流搭配   ObjectInputStream ois=new ObjectInputStream(new FileInputStream("D:\\duixiang1.txt"));   Object obj=ois.readObject();   ArrayList list=(ArrayList) obj;   for (Student student : list) {    System.out.println(student);   }   ois.close();   return list;   }    //(3)将存有6个学员信息的ArrayList集合对象写入到D:\\duixiang1.txt文件中  //这里写入的是对象,使用的是对象输出流  public static void duixiangshuruliu(ArrayList al) throws IOException{   FileOutputStream fos=new FileOutputStream("D:\\duixiang1.txt");   ObjectOutputStream oos=new ObjectOutputStream(fos);   oos.writeObject(al);   fos.close();  }
 //(2)键盘录入6个学员信息的方法  public static ArrayList getStuInfo() {   Scanner sc = new Scanner(System.in);   ArrayList al = new ArrayList();   for (int i = 0; i < 6; i++) {   System.out.println("请输入第" + (i + 1) + "个学员信息:");   String s = sc.nextLine().trim();// 获取输入的信息,并去除首尾空格   String[] strings = s.split(",");// 将接收的字符串以 , 截取存入字符串数组中   al.add(new Student(strings[0], strings[1], Integer.parseInt(strings[2])));// 将学生信息添加到ArrayList集合中   }   return al;   }  
}
//学生类在下一篇里
//有一部分参考了网上一些前辈的代码,比如http://bbs.csdn.net/topics/392087163

关注
打赏
1662709650
查看更多评论
立即登录/注册

微信扫码登录

0.0472s