Java编写学生管理系统
由于刚刚接触Java,只是简单的实现了一些学生信息的管理。
简述
在这篇文章中,只是简单的处理了一些学生的信息,由于是一只小白没有什么高端操作,求大佬指教,在这个学生系统中主要执行了一下功能。
1. 查看所有学生
2. 查看某个学生
3.增加学生信息
4.删除学生信息
5. 更改学生信息
代码
在这个类中建立了学生信息;
package studentManger;
public class Student {
public String name; //如果需要录入别的学生信息,可以根据( public 类型 名称)进行录入
public int age;
public String number;
public Student() {
super();
// TODO Auto-generated constructor stub
}
public Student(String name,int age,String number) {
=name;
this.age=age;
this.number=number;
}
@Override
public String toString() {
return "姓名 =" + name + ", 年龄=" + age + ", 成绩=" + number + "";//通过toString方法返回。
}
}
**通过此类进行完成登录操作**
```java
*package studentManger;
import java.util.Scanner;
public class Login {
static int i = 2;
static String useName = "Tom";// 此处定义用户名
static String passWord = "123";// 定义密码
public static void deng() {
for (int j = 1; j <= 3; j++) {
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in);
System.out.print("请输入您的用户名:");
String username_in = sc.next();
System.out.print("请输入您的密码:");
String password_in = sc.next();
if (username_in.equals(useName) && password_in.equals(passWord)) {
System.out.println("欢迎来到学生系统");
System.out.println("------------------");
StudentManger.init(); **//当密码正确时调用界面函数,来选择要进行的操作。**
break;
} else {
System.out.println("用户名或密码错误,你还有" + i + "次输入机会");
i--;
}
}
}
}**
**通过此类进行学生信息的操作。**
```java
package studentManger;
import java.util.Scanner;
public class StudentManger {
static Student[] student = { new Student("zhangsan", 17, "70"), new Student("lisi", 18, "78"),
new Student("wangwu", 16, "80") };//先录入几个学生信息
static Student[] studentSel= new Student[student.length-1];//建立此数组用于完成删除信息操作
static Student[]studentAdd=new Student[student.length+1];//建立此数组用于完成添加信息操作
public static void init() {
System.out.println("1...查看所有学生信息");
System.out.println("2...查看某个学生信息");
System.out.println("3...更改某个学生信息");
System.out.println("4...删除某个学生信息"); //界面函数,当密码成功时调用此函数
System.out.println("5...增加一个学生信息");
System.out.println("6...........退出.............");
System.out.println("......................................................................");
System.out.println("请选择要执行的操作");
@SuppressWarnings("resource")
Scanner scan = new Scanner(System.in);//在键盘中录入一个数选择要执行的操作。
int scan_in = scan.nextInt();
switch (scan_in) {
case 1:
searchStudents();
break;
case 2:
searchStudent();
break;
case 3:
changeStudent();
break;
case 4:
delStudent();
break;
case 5:
addStudent();
break;
case 6:
System.out.println("欢迎再次使用");
break;
default:
System.out.println("输入错误");
break;
}
}
public static void searchStudent() { //查看某个学生信息
System.out.println("请输入要查询的姓名");
Scanner scan1 = new Scanner(System.in);//在这里我用的是通过名字来查询,但名字可能会有重复的,可以通过学号来查询。
String saa = scan1.nextLine();
System.out.println();
for (int i = 0; i < 3; i++) {
if (student[i].name.equals(saa)) {
System.out.println(student[i]);
}
}
tuichu();
@SuppressWarnings("resource")
Scanner scan = new Scanner(System.in);
int scan_1 = scan.nextInt();//询问是否退出的函数体,当录入1时继续调用init函数
if (scan_1 == 1) {
init();
} else
System.out.println("欢迎再次使用");
}
public static void addStudent() { //添加学生信息
int j=0 ;
System.out.println("请输入要添加学生的姓名");
Scanner scan4=new Scanner(System.in);
String name_in=scan4.nextLine();
System.out.println("请输入要添加学生的年龄");
Scanner scan5 = new Scanner(System.in);
int age_in = scan5.nextInt();
System.out.println("请输入要添加学生的成绩");
Scanner scan6=new Scanner(System.in);
String number_in=scan6.nextLine();
for(int i=0;i<student.length;i++) {
studentAdd[i]=student[i];//通过此循环,将student中的元素赋值给studentAdd,也就是实现将老的数组赋值给新的数组
}
// Student sts=new Student(name_in, age_in, number_in);
// studentAdd[student.length]=sts;
studentAdd[student.length]=new Student(); //这句是为了防止在下句的赋值语句中出现空指针的错误。
studentAdd[student.length].name=name_in;
studentAdd[student.length].age=age_in;
studentAdd[student.length].number=number_in;
student=studentAdd;//将已经添加新成员的数组赋值给student。并且student的长度已变,注意:将一个数组赋值给另一个数组时,两个数组必须是满的。
for(int i=0;i<student.length;i++) {
System.out.println(student[i]);//数组所有元素,
}
tuichu();
@SuppressWarnings("resource")
Scanner scan = new Scanner(System.in);//询问
int scan1 = scan.nextInt();
if (scan1 == 1) {
init();
} else
System.out.println("欢迎再次使用");
}
public static void delStudent() { //删除学生信息
int k=0;
for (int i = 0; i < 3; i++) { //展示所有学生,选择要删除的学生
System.out.println(student[i]);
}
System.out.println("请输入要删除学生的姓名");
Scanner scan3=new Scanner(System.in);
String name_in=scan3.nextLine();
for (int i = 0; i < 3; i++) {
if(!student[i].name.equals(name_in)) {
studentSel[k++]=student[i]; //这一个循环是遍历原始的数组,然后找到不需要删除的学生信息赋值给studentSel
}
else {
continue;
}
}
student=studentSel;//数组的赋值,同添加学生的赋值
for(int i=0;i<student.length;i++) {
System.out.println(student[i]);
}
tuichu();
@SuppressWarnings("resource")
Scanner scan = new Scanner(System.in);
int scan_in = scan.nextInt();
if (scan_in == 1) {
init();
} else
System.out.println("欢迎再次使用");
}
public static void changeStudent() { //修改学生信息
int j = 0;
System.out.println("请输入要改写的姓名");
Scanner scan1 = new Scanner(System.in);
String saa = scan1.nextLine();
System.out.println();
for (int i = 0; i < 3; i++) {
if (student[i].name.equals(saa)) {
j = i;
System.out.println(student[i]);
System.out.println("请输入要修改的年龄");
Scanner scan2 = new Scanner(System.in);
int age_in = scan2.nextInt();
student[j].age = age_in;//将年龄替换即可。
System.out.println("请输入要修改的成绩");
Scanner scan3 = new Scanner(System.in);
String number_in = scan3.nextLine();
student[j].number = number_in;
System.out.println(student[j]);
tuichu();
@SuppressWarnings("resource")
Scanner scan = new Scanner(System.in);
int scan_in = scan.nextInt();
if (scan_in == 1) {
init();
}
}
int t=0;
if(!student[i].name.equals(saa)&&i==t) {
System.out.println("wu");
tuichu();
}
}
}
public static void searchStudents() { //查看所有学生
for (int i = 0; i < 3; i++) {
System.out.println(student[i]);
}
tuichu();
@SuppressWarnings("resource")
Scanner scan = new Scanner(System.in);
int scan_in = scan.nextInt();
if (scan_in == 1) {
init();
} else
System.out.println("欢迎再次使用");
}
public static void tuichu() {
System.out.println("是否执行下一步操作");
System.out.println("1:继续执行");
System.out.println("---------------");
System.out.println("---------------");
System.out.println("2:输入其他数退出");
}
}