博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java基础入门(完结篇)
阅读量:4249 次
发布时间:2019-05-26

本文共 8114 字,大约阅读时间需要 27 分钟。

Java基础入门(完结篇)

1.简易的学生管理系统-集合版

1.1 需求描述

实现一个简易的学生管理系统,包含主菜单,增加学生,修改学生,删除学生,查看所有学生和退出功能:

主菜单:

在这里插入图片描述
添加学生:
在这里插入图片描述
查询所有:
在这里插入图片描述
修改学生:
在这里插入图片描述

在这里插入图片描述

删除学生:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2 思路

  • 1.定义实体类—Student类
  • 2.实现主菜单的循环显示
  • 3.实现添加方法
  • 4.实现查询方法
  • 5.实现修改方法
  • 6.实现删除方法

1.3 定义Student类

/*    1.定义一个Student学生类(属性:编号,姓名,年龄,性别) */public class Student {
//编号 private int id; //姓名 private String name; //年龄 private int age; //性别 private String sex; public Student() {
} public Student(int id, String name, int age, String sex) {
this.id = id; this.name = name; this.age = age; this.sex = sex; } public int getId() {
return id; } public void setId(int id) {
this.id = id; } public String getName() {
return name; } public void setName(String name) {
this.name = name; } public int getAge() {
return age; } public void setAge(int age) {
this.age = age; } public String getSex() {
return sex; } public void setSex(String sex) {
this.sex = sex; }}

1.4 编写主界面

  • 1.定义一个Student学生类(属性:编号,姓名,年龄,性别)
  • 2.定义一个存储Student对象的ArrayList集合
  • 3.定义一个Scanner对象
  • 4.定义一个死循环,让功能重复执行
  • 5.在死循环中打印功能菜单
  • 6.获取用户输入的功能选项
  • 7.根据用户输入的功能选项,选择对应的功能(switch语句)
public static void main(String[] args) {
//2.定义一个存储Student对象的ArrayList集合 ArrayList
list = new ArrayList<>(); //3.定义一个Scanner对象 Scanner sc = new Scanner(System.in); //4.定义一个死循环,让功能重复执行 while (true){
//5.在死循环中打印功能菜单 System.out.println("******************************************************"); System.out.println(" 欢迎使用学员管理系统 "); System.out.println("-------------------------------------------------------"); System.out.println("1.添加 2.修改 3.删除 4.查询所有 5.退出"); System.out.println("-------------------------------------------------------"); System.out.println("请选择您要执行的功能:"); //6.获取用户输入的功能选项 int choose = sc.nextInt(); //7.根据用户输入的功能选项,选择对应的功能(switch语句) switch (choose){
case 1: //1.添加学员 addStudent(list,sc); break; case 2: //2.修改学员 updateStudent(list,sc); break; case 3: //3.删除学员 deleteStudent(list,sc); break; case 4: //4.查询所有学员 selectAllStudent(list); break; case 5: //5.退出 System.out.println("欢迎下次使用,再见!"); System.exit(0);//终止当前正在执行的java虚拟机 default: System.out.println("您输入的功能选项不存在,请重新输入!"); break; } } }

1.5 编写添加学生方法

  • 1.获取用户输入的学员信息(姓名,年龄,性别)

  • 2.判断集合的长度是否为0;

    是0:则添加的学员为第一个,编号为1  不是0:获取最后一个学员的编号,把编号+1,作为新学员的编号
  • 3.创建Student对象,封装学员信息

  • 4.把Student对象添加到集合中

  • 5.提示"【成功】数据已经被保存!"

方法的参数:

ArrayList<Student> list:执行增删改查的集合对象

Scanner sc:获取用输入的数据(不用在每个方法中都创建一个Scanner对象)

public static void addStudent(ArrayList
list, Scanner sc) {
System.out.println("---------------------------欢迎使用添加学员的方法----------------------------"); //1.获取用户输入的学员信息(姓名,年龄,性别) System.out.println("请输入学员的信息"); System.out.println("姓名:"); String name = sc.next(); System.out.println("年龄:"); int age = sc.nextInt(); System.out.println("性别:"); String sex = sc.next(); //2.判断集合的长度是否为0; int id; if(list.size()==0){
//是0:则添加的学员为第一个,编号为1 id = 1; }else{
//不是0:获取最后一个学员的编号,把编号+1,作为新学员的编号 id = list.get(list.size()-1).getId()+1; } //3.创建Student对象,封装学员信息 Student stu = new Student(id,name,age,sex); //4.把Student对象添加到集合中 list.add(stu); //5.提示"【成功】数据已经被保存!" System.out.println("【成功】数据已经被保存!");}

1.6 编写查询所有学员的方法

  • 1.对集合的长度进行判断
    长度是0:提示"【暂无学员信息,请添加后再尝试】"
    长度不是0:遍历存储学员的ArrayList集合,获取每一个Student对象,打印Student对象的属性值
public static void selectAllStudent(ArrayList
list) {
System.out.println("-------------------------欢迎使用查询所有学员的方法--------------------------"); //1.对集合的长度进行判断 if(list.size()==0){
//长度是0:提示"【暂无学员信息,请添加后在尝试】" System.out.println("【暂无学员信息,请添加后在尝试】"); }else{
//长度不是0:遍历存储学员的ArrayList集合,获取每一个Student对象,打印Student对象的属性值 System.out.println("编号\t姓名\t年龄\t性别"); for (int i = 0; i < list.size(); i++) {
Student s = list.get(i); System.out.println(s.getId()+"\t\t"+s.getName()+"\t"+s.getAge()+"\t\t"+s.getSex()); } } System.out.println("------------------------------------------------------------------------------");}

1.7 编写修改学员的方法

  • 1.获取用户输入的要修改的学员id
  • 2.遍历集合获取每一个学员Student对象
  • 3.使用用输入的id和遍历得到的id进行比较
  • 4.id相同,有要修改的学员,打印学员信息
  • 5.获取用输入的新的学员信息(姓名,年龄,性别[保留原值输入0])
  • 6.判断用户输入的是否为0,不是0,替换学员的信息
  • 7.提示用户【成功】数据已经被修改!
  • 8.结束修改学员的方法 return; (return后边什么都不写,作用就是结束方法)
  • 9.遍历结束了,还没有找到对应的学员,提示错误信息"【错误】id是"+id+“的学员没找到!”
public static void updateStudent(ArrayList
list, Scanner sc) {
System.out.println("---------------------------欢迎使用修改学员的方法----------------------------"); //1.获取用户输入的要修改的学员id System.out.println("请输入要修改的学员id:"); int id = sc.nextInt(); //2.遍历集合获取每一个学员Student对象 for (int i = 0; i < list.size(); i++) {
Student s = list.get(i); //3.使用用输入的id和遍历得到的id进行比较 if(id==s.getId()){
//4.id相同,有要修改的学员,打印学员信息 System.out.println("您要修改的学员信息为:"); System.out.println(s.getId()+"\t\t"+s.getName()+"\t"+s.getAge()+"\t\t"+s.getSex()); //5.获取用输入的新的学员信息(姓名,年龄,性别[保留原值输入0]) System.out.println("请输入新的学员信息[保留原值输入0]:"); System.out.println("姓名:"); String name = sc.next(); System.out.println("年龄:"); int age = sc.nextInt(); System.out.println("性别:"); String sex = sc.next(); //6.判断用户输入的是否为0,不是0,替换学员的信息 if(!"0".equals(name)){
s.setName(name); } if(age!=0){
s.setAge(age); } if(!"0".equals(sex)){
s.setSex(sex); } //7.提示用户【成功】数据已经被修改! System.out.println("【成功】数据已经被修改!"); //8.结束修改学员的方法 return; return; } } //9.遍历结束了,还没有找到对应的学员,提示错误信息"【错误】id是"+id+"的学员没找到!" System.out.println("【错误】id是"+id+"的学员没找到!");}

1.8 编写删除学生的方法

  • 1.获取用户输入的要删除的学员id
  • 2.遍历集合获取每一个学员Student对象
  • 3.使用用输入的id和遍历得到的id进行比较
  • 4.id相同,有要删除的学员,打印学员信息
  • 5.输出"您确定要删除这条记录吗?(y|n)"
  • 6.获取用户输入的y或者n
  • 7.判断用户输入的是y:删除学员,提示"【成功】数据已经被删除" reutrn
    用户输入的不是y: 提示:"【取消】操作被取消" 取消删除操作 return
  • 8.遍历结束了,还没有找到对应的学员,提示错误信息"【错误】id是"+id+“的学员没找到!”
private static void deleteStudent(ArrayList
list, Scanner sc) {
System.out.println("---------------------------欢迎使用删除学员的方法----------------------------"); //1.获取用户输入的要删除的学员id System.out.println("请输入您要删除学员的id:"); int id = sc.nextInt(); //2.遍历集合获取每一个学员Student对象 for (int i = 0; i < list.size(); i++) {
Student s = list.get(i); //3.使用用输入的id和遍历得到的id进行比较 if(id==s.getId()){
//4.id相同,有要删除的学员,打印学员信息 System.out.println("您要删除的学员信息为:"); System.out.println(s.getId()+"\t\t"+s.getName()+"\t"+s.getAge()+"\t\t"+s.getSex()); //5.输出"您确定要删除这条记录吗?(y|n)" System.out.println("您确定要删除这条记录吗?(y|n)"); //6.获取用户输入的y或者n String yAndN = sc.next(); //7.判断用户输入的是y:删除学员,提示"【成功】数据已经被删除" reutrn if("y".equalsIgnoreCase(yAndN)){
//list.remove(s);//根据对象删除 list.remove(i);//根据索引删除 System.out.println("【成功】数据已经被删除"); return;//结束方法 }else{
//用户输入的不是y: 提示:"【取消】操作被取消" 取消删除操作 return System.out.println("【取消】操作被取消"); return;//结束方法 } } } //8.遍历结束了,还没有找到对应的学员,提示错误信息"【错误】id是"+id+"的学员没找到!" System.out.println("【错误】id是"+id+"的学员没找到!");}

至此简易的学生管理系统就做完了,Java初级入门的学习也告一段落。

希望整理的东西能对大家有所帮助,未来一起进步!

我们Java进阶再见!

转载地址:http://jdwei.baihongyu.com/

你可能感兴趣的文章
基于Flink+ClickHouse打造轻量级点击流实时数仓
查看>>
Flink sink schema 字段设计小技巧
查看>>
Flink 使用 union 代替 join 和 cogroup
查看>>
踩坑记 | Flink 天级别窗口中存在的时区问题
查看>>
用了 History Server,妈妈再也不用担心我的 Flink 作业半夜挂了
查看>>
强烈推荐三本 Spark 新书籍
查看>>
ClickHouse 知识讲解
查看>>
ClickHouse 如何玩转时序数据
查看>>
Flink 在腾讯视频的应用实践
查看>>
Flink SQL 1.11 on Zeppelin 平台化实践
查看>>
通过项目逐步深入了解Mybatis<三>
查看>>
奇怪的Java题:为什么128 == 128返回为False,而127 == 127会返回为True?
查看>>
通过项目逐步深入了解Spring MVC(一)
查看>>
java读取文件
查看>>
【二叉树】二叉树打印
查看>>
【字符串】字符串逆序
查看>>
【字符串】判断两字符串是否互为旋转词?
查看>>
【排序】时间复杂度为O(N^2)的排序——冒泡、选择和插入排序
查看>>
Typora Markdown 语法
查看>>
【IO】程序访问文件的几种方式
查看>>