这是我看java学习视频期间,完成的练习。
package com.java1;
//学生信息管理类
public class StudentMansgeDemo {
//定义要使用到的变量
private String id;
private String name;
private String age;
private String adress;
//定义方法
public StudentMansgeDemo() {
}
public StudentMansgeDemo(String id, String name, String age, String adress) {
this.id = id;
this.name = name;
this.age = age;
this.adress = adress;
}
//定义变量赋值及获取方法
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 getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getAdress() {
return adress;
}
public void setAdress(String adress) {
this.adress = adress;
}
}
//测试类
package com.java1;
import java.util.ArrayList;
import java.util.Scanner;
//设计主页 以及实现相应的选择和功能
public class StudentManage {
public static void main(String[] args) {
//创建学生信息容器
ArrayList<StudentMansgeDemo> arr=new ArrayList<StudentMansgeDemo>();
//为了实现每次选择完之后都能够重复显示功能选择页面 因此使用循环实现
while(true){
//设计主页面
System.out.println("-------欢迎来到学生信息管理系统-------");
System.out.println("1.查看所有学生信息");
System.out.println("2.增加学生信息");
System.out.println("3.删除学生信息");
System.out.println("4.修改学生信息");
System.out.println("5.退出本系统");
System.out.println("输入相应的序号选择操作");
//因为要输入 所有需要键盘录入
Scanner sc=new Scanner(System.in);
String ch=sc.nextLine();
//为了实现功能的选择 采用switch实现
switch(ch){
case "1":
//查看信息
findAllStudent(arr);
break;
case "2":
//增加信息
addStudent(arr);
break;
case "3":
//删除信息
deleteStudent(arr);
break;
case "4":
//修改信息
updateStudent(arr);
break;
case "5":
//退出系统
System.out.println("感谢使用,再会!");
//break;
System.exit(0);//当用户选择5 退出之后 终止循环 退出系统
default:
System.out.println("输入有误(1-5)");
}
}
}
//编写查看学生信息的方法以供case1 调用
public static void findAllStudent(ArrayList<StudentMansgeDemo> arr){
//判断是否有数据
if(arr.size()==0){
System.out.println("不好意思,当前学生信息为空,请选择其他操作");
return;
}
System.out.println("学号\t姓名\t年龄\t地址");
//循环遍历学生信息
for(int i=0;i<arr.size();i++){
StudentMansgeDemo s=arr.get(i);
System.out.println(s.getId()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getAdress());
}
}
//编写增加学生信息的方法以供case2调用
public static void addStudent(ArrayList<StudentMansgeDemo> arr){
//创建键盘录入对象
Scanner sc=new Scanner(System.in);
String id;
while(true){
//创建对象接收键盘录入的字符
System.out.println("请输入学号");
id=sc.nextLine();
boolean flag=false;
//为了 防止用户输入重复的学生信息 因此需要有一个判断语句
//遍历 得到每一个学生的信息
for(int i=0;i<arr.size();i++){
StudentMansgeDemo s=arr.get(i);
//把拿到的信息和之前的进行比较
if(s.getId().equals(id)){
flag=true;//此时说明被占用
break;
}
}
if(flag){
System.out.println("你添加的学号已经被占用");
}
else{
//说明flag为false 即并没有被占用 跳出去 继续提示输入
break;
}
}
System.out.println("请输入姓名");
String name=sc.nextLine();
System.out.println("请输入年龄");
String age=sc.nextLine();
System.out.println("请输入地址");
String adress=sc.nextLine();
//把接收了字符的对象赋值给学生对象 采用set
StudentMansgeDemo s=new StudentMansgeDemo();
s.setId(id);
s.setName(name);
s.setAge(age);
s.setAdress(adress);
//把学生对象的元素添加到容器arr中
arr.add(s);
System.out.println("添加信息成功");
}
//编写删除信息的方法以供case3调用
public static void deleteStudent(ArrayList<StudentMansgeDemo> arr){
//创建要删除的学号键盘录入对象
Scanner sc=new Scanner(System.in);
System.out.println("请输入你要删除的学生学号");
String id=sc.nextLine();
int index=-1;
for(int i=0;i<arr.size();i++){
StudentMansgeDemo s=arr.get(i);
//判断我给出的学号和遍历学生信息库得到的学号是否一致
if(s.getId().equals(id)){
index=i;
break;
}
}
if(index==-1){
//索引依然为-1说明信息库中没有这个信息
System.out.println("删除失败,信息库中没有此条记录");
return;
}
else{
arr.remove(index);
}
System.out.println("删除成功");
}
//编写信息修改方法以供case4调用
public static void updateStudent(ArrayList<StudentMansgeDemo> arr){
//键盘录入需要修改的学生学号
Scanner sc=new Scanner(System.in);
System.out.println("请输入你要修改的学生的学号");
String id=sc.nextLine();
//首先需要将输入进来的学号和原来的信息库进行比较 以防没有此条信息
//因此需要遍历信息库
int index=-1;
for(int i=0;i<arr.size();i++){
StudentMansgeDemo s=arr.get(i);
if(s.getId().equals(id)){
index=i;
break;
}
}
if(index==-1){
System.out.println("输入有误,不存在该条信息");
}else{
//说明信息库中有你输入的信息 可以进行修改操作 进一步提示操作
System.out.println("请输入姓名");
String name=sc.nextLine();
System.out.println("请输入年龄");
String age=sc.nextLine();
System.out.println("请输入地址");
String adress=sc.nextLine();
//把接收了字符的对象赋值给学生对象 采用set
StudentMansgeDemo s=new StudentMansgeDemo();
s.setId(id);
s.setName(name);
s.setAge(age);
s.setAdress(adress);
arr.set(index, s);
//给出修改成功的提示
System.out.println("修改成功");
}
}
}
676

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



