黑马程序员技术交流社区
标题: JavaEE 11期技术帖 [打印本页]
作者: duyunan14 时间: 2018-3-27 15:18
标题: JavaEE 11期技术帖
技术贴
学生管理系统简谈
操作界面:
----欢迎来到学生管理系统----
1 显示学生
2 增加学生
3 修改学生
4 删除学生
5 退出系统
请输入要进行的操作:
基本功能:
1,实现学生信息的显示
2,并实现学生信息的编辑操作。
注意事项:
1,系统无学生信息时,对其进行显示,修改,删除操作时系统能发出反馈
2, 增加学生信息时系统能判断输入的学生学号是否已被占用(学号有唯一性)
3,修改删除学生信息时系统能判断人员输入的待修改学生学号是否存在
4,系统只有在人员进行退出操作时退出
学生类源码:
package com.itheima;
public class Student {
private String id;
private String name;
private String address;
private String age;
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;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public Student(String id, String name, String address, String age) {
this.id = id;
this.name = name;
this.address = address;
this.age = age;
}
public Student() {
}
}
学生类源码简介:
学生类源码用来存储学生对象,包含无参构造,有参构造。对象属性信息包含:学号,姓名,住址,年龄。并进行了封装。提供getXxx ,setXxx方法用来修改对象属性。
学生信息管理系统源码:
package com.itheima;
importjava.util.ArrayList;
importjava.util.Scanner;
publicclass Manager {
public static void main(String[] args){
ArrayList<Student>arr=new ArrayList<Student>();
for(;;){
System.out.println("----欢迎来到学生管理系统----");
System.out.println("1显示学生");
System.out.println("2增加学生");
System.out.println("3修改学生");
System.out.println("4删除学生");
System.out.println("5退出系统");
Scanner sc =newScanner(System.in);
System.out.println("请输入要进行的操作:");
Stringstr=sc.nextLine();
switch (str) {
case "1":
showStudent(arr);
break;
case "2":
addStudent(arr);
break;
case "3":
updateStudent(arr);
break;
case "4":
delStudent(arr);
break;
case "5":
System.out.println("感谢你的访问");
return;
default:
break;
}
}
}
public static void addStudent(ArrayList<Student>arr) {
Scanner sc=newScanner(System.in);
String id;
for(;;){
System.out.println("请输入学生学号");
boolean flag=false;
id=sc.nextLine();
for(inti=0;i<arr.size();i++){
if(arr.get(i).getId().equals(id)){
System.out.println("你添加的学号已存在");
flag=true;
break;
}
}
if(flag==false) {
break;
}
}
System.out.println("请输入学生姓名");
String name=sc.nextLine();
System.out.println("请输入学生住址");
String address=sc.nextLine();
System.out.println("请输入学生年龄");
String age=sc.nextLine();
Student s=new Student();
s.setId(id);
s.setName(name);
s.setAddress(address);
s.setAge(age);
arr.add(s);
System.out.println("学生信息添加成功");
}
public static voidshowStudent(ArrayList<Student> arr) {
if(arr.size()==0){
System.out.println("暂无学生信息");
return;
}
System.out.println("学号\t\t姓名\t住址\t年龄");
for(inti=0;i<arr.size();i++) {
System.out.println(arr.get(i).getId()+"--------"+arr.get(i).getName()+"---"+arr.get(i).getAddress()+"---"+arr.get(i).getAge());
}
}
public static voidupdateStudent(ArrayList<Student> arr) {
for(;;){
if(arr.size()==0) {
System.out.println("当前无任何学生信息可供操作");
}
Scanner sc=newScanner(System.in);
Student s=newStudent();
System.out.println("请输入要修改的学生id");
Stringid=sc.nextLine();
for(inti=0;i<arr.size();i++) {
if(arr.get(i).getId().equals(id)){
System.out.println("请输入要更改的学生姓名");
Stringname=sc.nextLine();
System.out.println("请输入要更改的学生住址");
Stringaddress=sc.nextLine();
System.out.println("请输入要更改的学生年龄");
Stringage=sc.nextLine();
arr.get(i).setId(id);
arr.get(i).setName(name);
arr.get(i).setAddress(address);
arr.get(i).setAge(age);
System.out.println("学生信息修改完成");
return;
}
}
System.out.println("你输入的学号不存在");
}
}
public static voiddelStudent(ArrayList<Student> arr) {
for(;;) {
if(arr.size()==0){
System.out.println("当前无任何学生信息可供操作");
return;
}
System.out.println("请输入你要删除的学生学号");
Scanner sc=newScanner(System.in);
Stringid=sc.nextLine();
for(inti=0;i<arr.size();i++) {
if(arr.get(i).getId().equals(id)){
arr.remove(i);
System.out.println("删除成功");
return;
}
}
System.out.println("你输入的学号不存在");
}
}
}
学生管理系统源码简介:
1,为了实现系统操作的功能选择,我们使用了switch语句来实现;
2,为了保持系统功能的持续运行,利用了for的无限循环,return来语句结束整个方法
3,显示方法的实现,利用了for循环集合元素属性的遍历输出
4,修改方法的实现,for循环遍历集合,if语句判断输入id与学生对象id是否相同,但二者相同时,我们对对象属性进行修改
5,删除方法的实现,for循环遍历集合,if语句判断输入id与学生对象id是否相同,但二者相同时,使用remove()方法删除对象。
6,增加方法实现,定义Scanner类对象,使用nextLine()方法接受我们输入的新对象属性,最后利用add(E e)方法添加进学生对象集合中去。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |