java面向过程的学生管理系统

        要求:

1.添加学生,可以无限添加学生名字到这个数组中 
2.删除学生,可以删除指定的学生 
3.可以查询所有学生 
4.可以查询指定姓氏的学生(模糊查询)
5.可以查询指定的学生 
6.可以修改指定位置的学生姓名 

使用封装的方法;

先定义一个student类

public class Student {
	private String name;
	
	
	public String getName() {
		return name;
	}
	
	public void setName(String name) {
		this.name=name;
	}
}

然后定义一个主类来调用;

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ArrayList {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		java.util.ArrayList<Student> list = new java.util.ArrayList<Student>();
		boolean flag = true;
		while (flag) {
			System.out.println("请输入你要执行的功能:1添加;2删除;3遍历所有人;4模糊查找;5指定查找;6修改;0退出");
			int i = sc.nextInt();
			String name, name2;
			if (i < 0 | i > 6) {
				System.out.println("0~6啊,呆瓜别输错了!");
			} else {

				switch (i) {
				case 0:
					flag = false;
					break;
				case 1:
					System.out.println("请输入要添加的名字:");
					name = sc.next();
					AddStu(list, name);
					break;
				case 2:
					System.out.println("请输入要删除的名字:");
					name = sc.next();
					DelStu(list, name);
					break;
				case 3:
					ShowStu(list);
					break;
				case 4:
					System.out.println("请输入要模糊查找的名或姓:");
					name = sc.next();
					TryFindStu(list, name);
					break;
				case 5:
					System.out.println("请输入要查找的名字:");
					name = sc.next();
					FindStu(list, name);
					break;
				case 6:
					System.out.println("请输入要替换的名字:");
					name = sc.next();
					System.out.println("请输入替换后的名字:");
					name2 = sc.next();
					ChangeStu(list, name, name2);
					break;

				}

			}
		}

	}

//	1.添加
	public static void AddStu(java.util.ArrayList<Student> list, String name) {
		Student s = new Student();
		s.setName(name);
		list.add(s);
//		list.add(name);
		System.out.println("添加成功!");
	}

//	2.删除
	public static void DelStu(java.util.ArrayList<Student> list, String name) {
		Student s = new Student();
		for (int i = 0; i < list.size(); i++) {
			Student student = list.get(i);
			if (student.getName().equals(name)) {
				list.remove(i);
				System.out.println("删除成功!");
				return;
			}
		}
		
		System.out.println("删除失败!");
	}

//	3.遍历所有人
	public static void ShowStu(java.util.ArrayList<Student> list) {
		Student s = new Student();
		if(list.size()==0) {
			System.out.println("没有信息,请输入信息在查看!");
			return;
		}
		for (int i = 0; i < list.size(); i++) {
			Student student = list.get(i);
			System.out.println(student.getName());
		}
	}

//	4.模糊查询
	public static void TryFindStu(java.util.ArrayList<Student> list, String name) {
		Student s = new Student();
		java.util.ArrayList<String> list2 = new java.util.ArrayList<String>();
		// 模糊查询 使用(Pattern、Matcher)
		Pattern pattern = Pattern.compile(name);
		for (int i = 0; i < list.size(); i++) {
			Student student = list.get(i);
			Matcher matcher = pattern.matcher((CharSequence) (student.getName()));
			if (matcher.find()) { // matcher.find()-为模糊查询 matcher.matches()-为精确查询
				list2.add(student.getName());
			}
		}
		// 输出结果
		System.out.println(list2);
	}

//	5.查找指定人
	public static void FindStu(java.util.ArrayList<Student> list, String name) {
		for (int i = 0; i < list.size(); i++) {
			Student student = list.get(i);
			if (student.getName().equals(name)) {
				System.out.println("有这个人,他的索引位是:" + i);
				return;
			}
		}
		System.out.println("没有这个人!");
	}

//	6.修改
	public static void ChangeStu(java.util.ArrayList<Student> list, String name, String name2) {
		Student s = new Student();
		s.setName(name2);
		for (int i = 0; i < list.size(); i++) {
			Student student = list.get(i);
			if (student.getName().equals(name)) {
				list.set(i, s);
				break;
			}
		}
		System.out.println("修改后的所有人:");
		for (int i = 0; i < list.size(); i++) {
			Student student = list.get(i);
			System.out.println(student.getName());
		}
	}

}

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值