2020年实训之java基础
2019年底来到济宁惠与软件实训基地,
参加大四实训,初期学习java基础知识。
java基础
学生信息管理系统(ArrayList数组版)
主界面
此管理系统与之前电话本管理系统(数组版)实现功能一样
只不过使用了ArrayList数组
让我们进一步学习ArrayList数组的使用
【此项目的注意事项】
1.退出系统使用JVM的退出
2.在添加学生信息方法中需要判断学号是否重复
可以定义一个新方法用于判断该学号是否重复
使用返回值为boolean类型的方法来进行判断,如果有重复返回true,否则返回false
3.为了让一个方法不再继续执行,可以使用return语句,那么之后的语句将会不再执行
4.使用equals方法来比较两个字符串的内容是否相同
5.ArrayList中修改某一位置的元素使用set方法
具体代码:
- Student类用于描述学生属性及其方法
- StudentManager类用于管理此学生管理系统
//Student
package com.morning;
public class Student {
private String sid;
private String name;
private String age;
private String address;
//定义无参构造方法
public Student(){
}
//定义有参构造方法
public Student(String sid,String name,String age,String address){
this.sid = sid;
this.name = name;
this.age = age;
this.address = address;
}
//getset方法
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
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 getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
//StudentManager
package com.morning;
import java.util.ArrayList;
import java.util.Scanner;
public class StudentManager {
public static void main(String[] args) {
ArrayList<Student> array = new ArrayList<Student>();
while(true){
System.out.println("---Welcome---");
System.out.println("1 Add");
System.out.println("2 Delete");
System.out.println("3 Update");
System.out.println("4 FindAll");
System.out.println("5 Exit");
System.out.println("Please input your choice:");
Scanner scanner = new Scanner(System.in);
int choice = scanner.nextInt();
switch(choice){
case 1:
addStudent(array);
break;
case 2:
deleteStudent(array);
break;
case 3:
updateStudent(array);
break;
case 4:
findAllStudent(array);
break;
case 5:
// break;
// 此处如果想要退出系统需要使用jvm给定的退出
System.exit(0);
default:
System.out.println("choose your choice again");
}
}
}
/*
判断sid是否被使用
*/
public static boolean isUsed(ArrayList<Student> array,String sid){
boolean flag = false;
for(int i = 0;i < array.size();i++){
Student s = array.get(i);
if(s.getSid().equals(sid)){
flag = true;
return flag;
}
}
return flag;
}
/*
学生信息添加
*/
public static void addStudent(ArrayList<Student> array){
Scanner scanner = new Scanner(System.in);
while(true){
System.out.println("sid:");
String sid = scanner.nextLine();
if(isUsed(array,sid)){
System.out.println("Again!");
}else{
System.out.println("name:");
String name = scanner.nextLine();
System.out.println("age:");
String age = scanner.nextLine();
System.out.println("address:");
String address = scanner.nextLine();
//利用自己定义的构造方法实例化Student对象
Student s = new Student(sid,name,age,address);
//将实例好的对象添加到ArrayList数组中
array.add(s);
System.out.println("Add successfully!");
break;
}
}
}
/*
查看所有学生信息
*/
public static void findAllStudent(ArrayList<Student> array){
if(array.size() == 0){
System.out.println("No information!");
//为了让程序不再往下执行,我们可以使用return来让程序不再往下执行
return;
}
System.out.println("学号\t姓名\t年龄\t住址");
for(int i = 0;i < array.size();i++){
Student s = array.get(i);
System.out.println(s.getSid()+"\t"+s.getName()+"\t"+s.getAge()+"岁\t"+s.getAddress());
}
}
/*
学生信息删除
*/
public static void deleteStudent(ArrayList<Student> array){
Scanner scanner = new Scanner(System.in);
System.out.println("Please input the sid:");
String sid = scanner.nextLine();
boolean flag = false;
for(int i = 0;i < array.size();i++){
Student s = array.get(i);
//使用equals方法来判断两个字符串内容是否相同
if(s.getSid().equals(sid)){
array.remove(i);
System.out.println("Delete successfully!");
flag = true;
break;
}
}
if(flag == false){
System.out.println("Cannot find the sid!");
}
}
/*
修改学生信息
*/
public static void updateStudent(ArrayList<Student> array){
Scanner scanner = new Scanner(System.in);
System.out.println("Please input the sid:");
String sid = scanner.nextLine();
boolean flag = false;
for(int i = 0;i < array.size();i++){
Student s = array.get(i);
if(s.getSid().equals(sid)){
System.out.println("The new name:");
String name = scanner.nextLine();
System.out.println("The new age:");
String age = scanner.nextLine();
System.out.println("The new address:");
String address = scanner.nextLine();
Student student = new Student(sid,name,age,address);
//ArrayList中修改某一位置的元素使用set方法
array.set(i,student);
System.out.println("Update successfully!");
flag = true;
}
}
if(flag == false){
System.out.println("Cannot find the sid!");
}
}
}