1. 程式人生 > 其它 >java學習第15天

java學習第15天

今日學習內容----在控制檯製作一個簡單的學生資訊管理系統

該系統功能包括簡單的(1)新增學生資訊(2)刪除學生資訊(3)修改學生資訊(4)檢視學生資訊(5)退出系統

首先編寫一個簡單的學生類

package main.rensaihang;

public class Student {
private String name;
private String no;
private int age;
private String address;

public Student() {
}

public Student(String name, String no, int age, String address) {
this.name = name;
this.no = no;
this.age = age;
this.address = address;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getNo() {
return no;
}

public void setNo(String no) {
this.no = no;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}
}
package main.rensaihang;
import java.util.ArrayList;
import java.util.Scanner;
/*
學生管理系統
*/
public class StudentManage {
/*
(1)用輸出語句完成主介面的編寫
(2)用Scanner完成主介面的資訊錄入
(3)用switch語句完成主介面的選擇
(4)用迴圈再次回到主介面
*/
public static void main(String[] args) {
//建立集合物件,用於儲存學生資料
ArrayList<Student>arr1=new ArrayList<Student>();
//迴圈再次回到主介面
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完成主介面的資訊錄入
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
//用switch語句完成主介面的選擇
switch(s) {
case "1":
//System.out.println("新增學生");
addStudent(arr1);
break;
case "2":
//System.out.println("刪除學生");
delStudent(arr1);
break;
case "3":
//System.out.println("修改學生");
setStudent(arr1);
break;
case "4":
//System.out.println("檢視學生");
lookStudent(arr1);
break;
case "5":
System.out.println("謝謝使用");
System.exit(0);//退出JVM.
}
}
}
//定義一個方法,用於新增學生物件
public static void addStudent(ArrayList<Student>a){
Scanner sc=new Scanner(System.in);
Scanner sv=new Scanner(System.in);
String no;
while(true){
System.out.println("請輸入學生學號:");
no=sc.nextLine();
boolean flag=isused(a,no);
if(flag){
System.out.println("您輸入的學號已經被使用,請重新輸入:");
}else{
break;
}
}
System.out.println("請輸入學生姓名:");
String name=sc.nextLine();
System.out.println("請輸入學生年齡:");
int age=sc.nextInt();
System.out.println("請輸入學生居住地:");
String address=sv.nextLine();
//鍵盤錄入學生資料,將學生資訊賦值給學生物件的成員變數
Student s=new Student();
s.setName(name);
s.setNo(no);
s.setAge(age);
s.setAddress(address);
//將學生物件新增到集合中
a.add(s);
//給出新增成功顯示
System.out.println("新增成功。");

}
//定義一個方法檢視學生資訊
public static void lookStudent(ArrayList<Student>a){
if(a.size()==0){
System.out.println("無資訊請新增學生資訊。");
return;
}
System.out.println("姓名\t\t學號\t\t\t年齡\t地址");
for(int i=0;i<a.size();i++){
Student s=a.get(i);
System.out.println(s.getName()+"\t\t"+s.getNo()+"\t\t"+s.getAge()+"\t\t"+s.getAddress());
}
}
//定義一個方法刪除學生資訊
public static void delStudent(ArrayList<Student>a){
Scanner sc=new Scanner(System.in);
int index=-1;
System.out.println("請輸入要刪除的學號:");
String no=sc.nextLine();
for(int i=0;i<a.size();i++) {
Student s = a.get(i);
if (s.getNo().equals(no)) {
index = i;
break;
}
}
if(index==-1){
System.out.println("該學生資訊不存在,請重新輸入。");
}else {
a.remove(index);
//刪除成功提示
System.out.println("刪除成功");
}
}
//定義一個方法修改學生資訊
public static void setStudent(ArrayList<Student>a){
Scanner sc=new Scanner(System.in);
Scanner sv=new Scanner(System.in);
//輸出修改提示語
System.out.println("請輸入要修改的學生學號:");
String no=sc.nextLine();
//重新輸入學生資訊
System.out.println("請重新輸入學生的姓名:");
String name=sc.nextLine();
System.out.println("請重新輸入學生的年齡:");
int age=sc.nextInt();
System.out.println("請重新輸入學生的居住地:");
String address=sv.nextLine();
//建立學生物件
Student s=new Student();
s.setName(name);
s.setAge(age);
s.setAddress(address);
for(int i=0;i<a.size();i++){
Student s1=a.get(i);
if (s1.getNo().equals(no)){
a.set(i,s);
break;
}
}
System.out.println("請重新輸入學號:");
no=sv.nextLine();
s.setNo(no);
System.out.println("修改成功。");
}
//判斷學號是否被使用
public static boolean isused(ArrayList<Student>a,String no){
boolean flag=false;
for(int i=0;i<a.size();i++){
Student s=new Student();
s=a.get(i);
if(s.getNo().equals(no)){
flag=true;
}
}
return flag;
}
}