zoukankan      html  css  js  c++  java
  • 学生数据增删改查--顺序表

    三个类

    主程序c1.java:

    package p1;
    
    import java.util.Scanner;
    
    public class c1
    {
        static Scanner scan = new Scanner(System.in);
    
        public static void main(String[] args)
        {
            // TODO Auto-generated method stub
            z();
            StudLine.show();
        }
    
        static void z()
        {
            Student t = new Student();
            System.out.println("输入id");
            t.id = scan.nextInt();
            System.out.println("输入姓名");
            t.xm = scan.next();
            System.out.println("输入年龄");
            t.nl = scan.nextInt();
            StudLine.add(t);
        }
    
        static void s()
        {
            int t;
            System.out.println("输入id");
            t = scan.nextInt();
            StudLine.del(t);
        }
    
        static void g()
        {
            Student t = new Student();
            System.out.println("输入id");
            t.id = scan.nextInt();
            System.out.println("输入姓名");
            t.xm = scan.next();
            System.out.println("输入年龄");
            t.nl = scan.nextInt();
            StudLine.modi(t);
        }
    
        static void c()
        {
            System.out.println("输入id");
            int t = scan.nextInt();
            for (int i = 0; i <= StudLine.p; i++)
            {
                if (StudLine.s[i].id == t)
                {
                    StudLine.s[i].showMe();
                    break;
                }
            }
        }
    }

    学生模型(student.java)

    package p1;
    
    public class Student
    {
        public int id;
        public String xm;
        public int nl;
        public void showMe()
        {
            System.out.println(id+"	"+xm+"	"+nl);
        }
    }

    学生线性表(StudLine.java)

    package p1;
    
    public class StudLine
    {
        static Student[] s=new Student[20];
        static int p=-1;
        public static void add(Student t)
        {
            p++;
            s[p]=t;
        }
        public static void del(int _id)
        {
            for (int i = 0; i <=p; i++)
            {
                if(s[i].id==_id)
                {
                    move(i);
                    break;
                }
            }
        }
        public static void modi(Student t)
        {
            for (int i = 0; i <=p; i++)
            {
                if(s[i].id==t.id)
                {
                    s[i]=t;
                    break;
                }
            }
        }
        public static void select(int _id)
        {
            for (int i = 0; i <=p; i++)
            {
                if(s[i].id==_id)
                {
                    s[i].showMe();
                    break;
                }
            }
        }
        public static void show()
        {
            System.out.println("编号	姓名	年龄");
            for (int i = 0; i <=p; i++)
            {
                s[i].showMe();
            }
        }
        private static void move(int t)
        {
            for (int i = t; i <p; i++)
            {
                s[i]=s[i+1];
            }
            p--;
        }
    }

     按照MVC的思路做好上面的程序之后,可以在c1里调试各个功能模块。

    按照书上程序的要求,在主程序c1里添加上循环的控制部分。c1代码如下:

    int choice;
            do
            {
                System.out.println("输入选择:
    0、退出程序;
    1、添加学生信息;
    2、删除学生信息;
    3、修改学生信息;
    4、查询学生信息;");
                choice = scan.nextInt();
                if (choice == 1)
                {
                    z();
                }
                else if (choice == 2)
                {
                    s();
                }
                else if (choice == 3)
                {
                    g();
                }
                else if (choice == 4)
                {
                    c();
                }
                StudLine.show();
            } while (choice != 0);

    程序运行结果:

    输入选择:
    0、退出程序;
    1、添加学生信息;
    2、删除学生信息;
    3、修改学生信息;
    4、查询学生信息;
    1
    输入id
    1
    输入姓名
    zs
    输入年龄
    20
    编号    姓名    年龄
    1       zs      20
    输入选择:
    0、退出程序;
    1、添加学生信息;
    2、删除学生信息;
    3、修改学生信息;
    4、查询学生信息;
    1
    输入id
    2
    输入姓名
    ls
    输入年龄
    18
    编号    姓名    年龄
    1       zs      20
    2       ls      18
    输入选择:
    0、退出程序;
    1、添加学生信息;
    2、删除学生信息;
    3、修改学生信息;
    4、查询学生信息;
    1
    输入id
    3
    输入姓名
    ww
    输入年龄
    19
    编号    姓名    年龄
    1       zs      20
    2       ls      18
    3       ww      19
    输入选择:
    0、退出程序;
    1、添加学生信息;
    2、删除学生信息;
    3、修改学生信息;
    4、查询学生信息;
    2
    输入id
    2
    编号    姓名    年龄
    1       zs      20
    3       ww      19
    输入选择:
    0、退出程序;
    1、添加学生信息;
    2、删除学生信息;
    3、修改学生信息;
    4、查询学生信息;
    3
    输入id
    3
    输入姓名
    ww
    输入年龄
    100
    编号    姓名    年龄
    1       zs      20
    3       ww      100
    输入选择:
    0、退出程序;
    1、添加学生信息;
    2、删除学生信息;
    3、修改学生信息;
    4、查询学生信息;
    4
    输入id
    3
    3       ww      100
    编号    姓名    年龄
    1       zs      20
    3       ww      100
    输入选择:
    0、退出程序;
    1、添加学生信息;
    2、删除学生信息;
    3、修改学生信息;
    4、查询学生信息;
    0
    编号    姓名    年龄
    1       zs      20
    3       ww      100
  • 相关阅读:
    HashMap了解吗?
    阻塞队列知道吗
    深入理解Java枚举类型(enum)
    CountDownLatch/CyclicBarrier/Semaphore 使用过吗?
    Java 种15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁等等…
    选择排序算法
    Node版本管理器NVM常用命令
    希尔排序算法
    插入排序算法
    mybatis与hibernate的区别持久层对比【面试题】
  • 原文地址:https://www.cnblogs.com/wanjinliu/p/13680332.html
Copyright © 2011-2022 走看看