java综合小练习(不难,都是基础的结合)

版权声明:所有博客本人原创,转载注明出处即可 https://blog.csdn.net/qq_42813491/article/details/88372238

练习一

	  A:键盘录入3个学生信息(学号,姓名,居住地)存入集合 
	  B:遍历集合把每一个学生信息存入文本文件
	  C:每一个学生信息为一行数据,每行学生的学号,姓名和居住地在文件中均以逗号分隔

目录结构

在这里插入图片描述


学生实体

package task;

public class Student {

	private String id;
	private String name;
	private String address;

	public Student() {
		super();
	}

	public Student(String id, String name, String address) {
		super();
		this.id = id;
		this.name = name;
		this.address = address;
	}

	public String getId() {
		return id;
	}

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

	public String getName() {
		return name;
	}

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

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

}

逻辑和测试

package task;

import java.io.FileWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Test {

	public static void main(String[] args) throws Exception {

		/*
		 * A:键盘录入3个学生信息(学号,姓名,居住地)存入集合 
		 * B:遍历集合把每一个学生信息存入文本文件
		 * C:每一个学生信息为一行数据,每行学生的学号,姓名和居住地在文件中均以逗号分隔
		 */

		List<Student> list = new ArrayList();// 存放学生信息的集合

		// 循环录入学生信息
		for (int i = 0; i < 3; i++) {
			System.out.println("请输入学生id");
			String id = new Scanner(System.in).nextLine();
			System.out.println("请输入学生name");
			String name = new Scanner(System.in).nextLine();
			System.out.println("请输入学生address");
			String address = new Scanner(System.in).nextLine();
			Student student = new Student(id, name, address);// 填充学生对象
			list.add(student);// 将学生对象添加到集合
			System.out.println("录入成功" + (i + 1));// 提示录入次数
		}

		FileWriter fw = new FileWriter("stu.txt");// 等会要写入的文件

		for (Student student : list) {
			fw.write(student.getId() + "," + student.getName() + "," + student.getAddress());// 分隔符
			fw.write("\r\n");// 换行
		}

		System.out.println("写入完毕");// 提示

		fw.close();// 关闭流

	}

}

效果图

在这里插入图片描述

练习二

把上一案例的stu.txt文本文件中的学生信息读取出来存储到集合中,然后遍历集合,在控制台输出


学生实体类

  • 加一个toString,其他的和上边一样
	@Override
	public String toString() {
		return "Student [id=" + id + ", name=" + name + ", address=" + address + "]";
	}

逻辑和测试

package task;

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.List;

public class Test {

	public static void main(String[] args) throws Exception {

		// 创建输入缓冲流对象,用来读取学生信息
		BufferedReader br = new BufferedReader(new FileReader("stu.txt"));

		String str = "";// 用来保存读取的数据

		List<Student> list = new ArrayList();// 用来存放读取的学生信息

		while ((str = br.readLine()) != null) {

			String[] student = str.split(",");// 分割学生数组,每一个索引就是一个学生的个人信息
			Student s = new Student();// 创建学生实例,填充对象
			s.setId(student[0]);
			s.setName(student[1]);
			s.setAddress(student[2]);
			list.add(s);// 将学生数据添加到集合中

		}

		//遍历集合,打印到控制台,学生实体重写toString()
		for (Student student : list) {
			System.out.println(student);
		}

		br.close();// 关闭流

	}

}

效果图

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42813491/article/details/88372238