java控制台实现学生信息管理系统

简介

最近学了java基础后对以前不会写的作业深有感触,想起以前各种在网上找资料找别人的代码参考,所以今天特地写了了简单的基于控制台的学生信息管理系统供还在学基础的同学参考,写的有问题的地方也希望能指出来,好了,下面开始进入正题。

环境

我使用的是idea编译器和1.8的jdk版本,有使用1.7以下jdk版本的同学运行会报错,解决方法是把ArrayLis<Student> arrayList=new Array<>();改成  ArrayLis<Student> arrayList=new Array<Student>(),下面开始讲解学生信息管理系统的实现过程。

系统分析

学生信息管理系统主要是实现让老师登入账号(账号和密码我设置的都是“123”,你们也可以改成其他的字符串)后可以对学生进行增删改查的操作和查看所有学生的信息,所以我各自定义了一个方法来实现它的功能。

代码实现

首先定义一个学生类Student.java,关于toString是重写了父类也就是Object的方法,是用于方便查看结果的,学生的属性可以按需求添加多个,这里我为了方便只写了四个。

public class Student {
    //学号
    private int  sno;
    //姓名
    private String  name;
    //性别
    private String xes;
    //年龄
    private int age;
//创建get/set方法
    public int getSno() {
        return sno;
    }
 
    public void setSno(int sno) {
        this.sno = sno;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getXes() {
        return xes;
    }
 
    public void setXes(String xes) {
        this.xes = xes;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
//重写toString方法方便打印
    @Override
    public String toString() {
        return "Student{" +
                "sno=" + sno +
                ", name='" + name + '\'' +
                ", xes='" + xes + '\'' +
                ", age=" + age +
                '}';
    }
}

然后定义一个结构类Structure.java,把需要实现的功能方法写出来。

import java.util.ArrayList;
import java.util.Scanner;
 
/**
 * 老师进行登录操作后(老师的账号密码固定为123)
 * 才能对学生进行增删改查
 */
public class Structure {
    //用来给学生学号赋值自增
    static int i=1;
    //创建ArrayList集合对象用来存放学生对象
    ArrayList<Student> arrayList=new ArrayList<>();
    Scanner scanner=new Scanner(System.in);
    public void enter(){
        System.out.print("请输入用户名:");
        if (scanner.next().equals("123")){
            System.out.print("请输入密码:");
            if (scanner.next().equals("123")){
                System.out.println("登录成功!");
            }else{
                System.out.println("密码错误!请重新登入");
                enter();
            }
        }else {
            System.out.println("用户名错误!请重新登入");
            enter();
        }
    }
    //增加学生信息
    public void add(){
        //创建学生对象
        Student student=new Student();
        //System.out.print("学生ID自增");
        student.setSno(i);
        System.out.print("学生姓名:");
        student.setName(scanner.next());
        System.out.print("性别:");
        student.setXes(scanner.next());
        System.out.print("年龄:");
        student.setAge(scanner.nextInt());
        //把学生对象存入集合中
        arrayList.add(student);
        i++;
    }
    //查看所有学生信息
    public void print(){
        if (arrayList.size()==0){
            System.out.println("没有学生!!!");
        }else {
            //使用增强for循环遍历集合
            for (Student student:arrayList){
                System.out.println(student.toString());
            }
        }
    }
    //通过学号查找指定的学生信息
    public void inquiry(){
        if (arrayList.size()==0){
            System.out.println("没有学生!!!");
        }else {
            System.out.print("请输入想要查找的学生的学号:");
            for (Student student:arrayList){
                if (student.getSno()==scanner.nextInt()){
                    System.out.println(student.toString());
                }
            }
        }
    }
    //删除指定学生的信息
    public void delete(){
        if (arrayList.size()==0){
            System.out.println("没有学生!!!");
        }else {
            System.out.print("请输入想要删除的学生的学号:");
            for (int i=0;i<=arrayList.size();i++){
                if (arrayList.get(i).getSno()==scanner.nextInt()){
                    arrayList.remove(i);
                    System.out.println("删除成功!");
                }
            }
        }
    }
    //修改指定学生的信息
    public void revisesp(){
        if (arrayList.size()==0){
            System.out.println("没有学生!!!");
        }else {
            System.out.print("请输入想要修改的学生的学号:");
            for (Student student:arrayList){
                if (student.getSno()==scanner.nextInt()){
                    revisesp01(student);
                    System.out.println("修改成功!");
                }
            }
        }
    }
    public void revisesp01(Student student) {
        System.out.println("请根据序号选择指令");
        System.out.println("1.修改姓名");
        System.out.println("2.修改性别");
        System.out.println("2.修改年龄");
        switch (scanner.nextInt()){
            case 1:
                student.setName(scanner.next());
                break;
            case 2:
                student.setXes(scanner.next());
                break;
            case 3:
                student.setAge(scanner.nextInt());
                break;
        }
    }
}

最后创建一个测试类Test.java用来测试功能的实现

import java.util.Scanner;
 
public class Test {
    Structure structure=new Structure();
    static Scanner scanner=new Scanner(System.in);
    public static void main(String[] args) {
        Test test=new Test();
        test.a();
    }
    public void a(){
        System.out.println("老师登录(账号密码固定123/123)");
        structure.enter();
        while (true){
            print();
            switch (scanner.nextInt()){
                case 1:
                    structure.add();
                    break;
                case 2:
                    structure.print();
                    break;
                case 3:
                    structure.inquiry();
                    break;
                case 4:
                    structure.delete();
                    break;
                case 5:
                    structure.revisesp();
                    break;
                case 0:
                    return;
                default:
                    System.out.println("请输入正确的指令!");
            }
 
        }
    }
 
    public void print(){
        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("0.退出");
    }
}

最后我们就顺利的完成了一个简单的学生管理系统,能独立完成这个对我们巩固基础知识是能起到一定的帮助的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java学生信息管理系统源代码

    本文实例为大家分享了java学生信息管理系统的具体代码,实现学生信息: 增加 int[] a=new int[9] .删除 .查找.更改,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: *增加 int[] a=new int[9] *删除 *查找 *更改 */ import java.util.Scanner;//导入java输入流 import java.lang.*; import java.io.*; class Student { private static Stude

  • java实现学生信息管理系统

    JAVA简单写学生信息管理系统,实现学生信息的输入.查询.修改.删除操作 package Week; import jdk.internal.util.xml.impl.Input; import java.util.HashSet; import java.util.Scanner; public class StudentMs { Scanner sc = new Scanner(System.in); public int getID() { return ID; } public Str

  • javaWeb实现学生信息管理系统

    本文为大家分享了javaWeb实现学生信息管理系统,供大家参考,具体内容如下 初始版 初始版是没有加分页的.因为没怎么学过前端,界面很丑陋.主要技术:JSP,JavaBean,servlet,JDBC主要页面如下: 登录页面 主页 添加学生 查看所有学生 查询学生 工程目录 数据库 两个表,user表和student表.为了使用DBUtils工具,一定要注意数据库表的属性的命名和JavaBean的get(),set() 方法的匹配.比如t_user表里的uname,在JavaBean中是:pri

  • java学生信息管理系统设计

    本例的学生信息添加进入数据库的事务(可以提交事务,事务回滚,用本地线程完善) 主页面index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <htm

  • java(swing)+ mysql实现学生信息管理系统源码

    本文实例为大家分享了java实现学生信息管理系统源码,供大家参考,具体内容如下 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import

  • java实现简单的学生信息管理系统代码实例

    java实现简单的学生信息管理系统(无界面) 学生类实体: package com.edu.imau.wcy; public class Stu { private String stuNum;//学号 private String name;//姓名 private String gender;//性别 private int age;//年龄 private int score;//分数 public Stu() { super(); } public String getStuNum()

  • Java学生信息管理系统设计(数据库版)

    本文实例为大家分享了数据库版的Java学生信息管理系统,供大家参考,具体内容如下 package Student_system; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import

  • java+SQL server2008学生信息管理系统源码

    本文实例为大家分享了java学生信息管理系统源码的具体代码,供大家参考,具体内容如下 1.StudetManage类(主界面) package com.sms3; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class StudentManage extends JFrame implements ActionListener { /** * @param args */ public stat

  • Java+MySQL实现学生信息管理系统源码

    基于Java swing+MySQL实现学生信息管理系统:主要实现JDBC对学生信息进行增删改查,应付一般课设足矣,分享给大家.(由于篇幅原因,代码未全部列出,如有需要留下邮箱) 鉴于太多同学要源码,实在发不过来,上传到github上 https://github.com/ZhuangM/student.git 1. 开发环境:jdk7+MySQL5+win7 代码结构:model-dao-view 2. 数据库设计--建库建表语句: CREATE DATABASE student; DROP

  • 学生信息管理系统java版

    本文为大家分享了java学生信息管理系统的源代码,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: *增加 int[] a=new int[9] *删除 *查找 *更改 */ import java.util.Scanner;//导入java输入流 import java.lang.*; import java.io.*; class Student { private static Student[] s=new Student[2]; int n=0; private Stri

随机推荐