java029学生管理系统的编写

1.步骤:

    a:定义学生类

    b:学生管理系统的主界面的代码编写

    c:学生管理系统的查看所有学生的代码编写

    d:学生管理系统的添加学生代码编写

    e:学生管理系统的删除学生代码编写

    f:学生管理系统的修改学生的代码编写

a.定义学生类:

package firstRoutine;

//定义一个学生类

//成员变量:学号,姓名,年龄,居住地

public class Student {

private String id;

private String name;

private String age;

private String home;

//无参方法

public Student() {

}

//有参构造方法

public Student(String id, String name, String age, String home) {

this.id = id;

this.name = name;

this.age = age;

this.home = home;

}

//成员方法

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

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 getHome() {

return home;

}

public void setHome(String home) {

this.home = home;

}

}

b.学生管理系统的主界面的代码编写;

示例:--------欢迎来到学生管理系统--------

1.查看所有学生

2.添加学生

3.删除学生

4.修改学生

5.退出

System.exit(0);   jvm虚拟机退出

c.查看所有学生

要使用集合吧所有学生都存储,所以创建集合对象

查看所有学生就是遍历集合

首先得判断该集合内有没有数据如果没有就给出提示,并让该方法不往下执行

d.添加学生

学生数据来自于键盘录入,所以在添加学生的方法中首先要创建键盘录入对象

录入完成后,创建学生对象用于保存键盘录入的数据

将数据添加进集合

d1.解决添加学生时学号重复 的问题:

在键盘录入学号的时候,1.判断学号是否被占用,首先哟啊通过遍历集合拿到每一个学生数据,使用if语句,用equals方法来进行比较,而在比较时候要在外部定义一个标记,用于作对比。2.定义标记。3.为了进行多次对比,则要定义一个while (true)循环。

e.删除学生

思路:键盘录入一个学号,到集合中查找,看是否有学生使用该学号,如果有就删除该学生


代码实现:

package firstRoutine;

import java.util.ArrayList;

import java.util.Scanner;

//我的学生管理系统

public class StudentSystem {

public static void main(String[] args) {

//创建学生集合

ArrayList<Student> array = 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 sc = new Scanner(System.in);

String  choice = sc.nextLine();

//选择自己的要输入的选项

switch (choice){

case "1":

//查看所有学生信息

findAllStudent(array);

break;

case "2":

//添加学生

addStudent(array);

break;

case "3":

//删除学生

deleteStudent(array);

break;

case "4":

//修改学生

selectStudent(array);

break;

case "5":

//退出

System.out.println("谢谢你的使用");

System.exit(0);

break;

default:

System.out.println("谢谢你的使用");

System.exit(0);    //jvm虚拟机退出

break;

}

}

}

//查看所有学生

public static void findAllStudent(ArrayList<Student> array){

//首先得判断集合内有没有学生数据,如果没有就给出提示,并让该方法结束执行

if(array.size()==0){

System.out.println("目前还没有可供查询的学生信息,请返回重新选择");

return;

}

//为了方便看到对应信息,加补一行提示语句

System.out.println("学号 姓名 年龄 居住地");

//查看学生就是遍历整个学生集合,遍历集合

for(int x =0;x<array.size();x++){

//创建学生对象用于接收数据

Student s = array.get(x);

System.out.println(s.getId()+" "+s.getName()+" "+s.getAge()+" "+s.getHome());

}

}

//添加学生

public static void addStudent(ArrayList<Student> array){

//创建键盘录入对象,用于录入学生数据

Scanner sc = new Scanner(System.in);

//5.定义一个String类型的id学号

String id;

//3.定义一个循环,用于比较学号是否正确

while(true){

//接收数据

System.out.println("请输入学生学号:");

id = sc.nextLine();      //4.因为下面还要继续使用id所以这个ID不能放在while(true)循环内,要放在添加学生的方法里

//2.定义标记

boolean flag = false;

//1.判断学号是否被占用,首先要遍历集合拿到每个元素

for(int x = 0;x<array.size();x++){

Student s = array.get(x);

if(s.getId().equals(id)){

//实现if比较语句得先定义标记,所以在外部去定义一个标记

flag=true;

//System.out.println("你输入的学号已经被占用,请重新输入");

break;

}

}

if(flag){

System.out.println("你输入的学号已经被占用,请重新输入");

}else{

break;

}

}

System.out.println("请输入学生姓名:");

String name = sc.nextLine();

System.out.println("请输入学生年龄:");

String age = sc.nextLine();

System.out.println("请输入学生住址");

String home = sc.nextLine();

//创建学生对象,用于保存键盘录入的数据

Student s = new Student();

s.setId(id);

s.setName(name);

s.setAge(age);

s.setHome(home);

//将数据存入集合

array.add(s);

}

//删除学生

public static void deleteStudent(ArrayList<Student> array){

//键盘录入一个要删除的学生的学号

Scanner sc = new Scanner(System.in);

System.out.println("请输入你要删除的学生的学号:");

String id = sc.nextLine();

//遍历集合

int index = -1;  //是为了防止如果我输入的学号集合里面没有

for(int x = 0;x<array.size();x++){

//创建学生对象获取到集合的学生信息

Student s = array.get(x);

//将拿到的学生学号与键盘录入的学号进行比较

if(s.getId().equals(id)){

//array.remove(x);

index = x;  //如果学生的学号和键盘录入的学号是一样的那么我就拿该索引赋值给index,如果不一样就不走这个循环

}

break;  // //如果输入的学号在集合中没有对应的学生,那么就要给出提示,并结束循环

}

if(index==-1){

System.out.println("您的输入有误请重新选择");

}else{

array.remove(index);

System.out.println("删除学生成功");

}

}

//修改学生

public static void selectStudent(ArrayList<Student> array){

//键盘录入对象

Scanner sc = new Scanner(System.in);

System.out.println("请输入你要修改的学生学号");

String id = sc.nextLine();

int index = -1;

for(int x = 0;x<array.size();x++){

//获取每一个学生对象

Student s = array.get(x);

if(s.getId().equals(id)){

index=x;

break;

}

}

if(index==-1){

System.out.println("你输入的这个学生的学号不存在与我们的系统,请重新输入");

}else{

System.out.println("请输入新的学生姓名:");

String name = sc.nextLine();

System.out.println("请输入新的学生年龄");

String age = sc.nextLine();

System.out.println("请输入新的居住地");

String home = sc.nextLine();

//创建学生对象

Student s = new Student();

s.setId(id);

s.setName(name);

s.setAge(age);

s.setHome(home);

array.set(index, s);

System.out.println("修改学生成功");

}

}

}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一...
    阿里高级软件架构师阅读 3,277评论 0 19
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    开心的锣鼓阅读 3,303评论 0 9
  • 想要的太多 想想自己有什么 两个人是幸运的 一个人还能不过了吗
    晴小月11阅读 103评论 0 0
  • 我拿着一杯芬达 坐在玻璃窗旁 窗外人流如织 我看见抱孩子的母亲 我看见开着车经过的男人 我看到我的学生 我看到我的...
    长脖子之鹿阅读 426评论 5 0
  • 关于 Quick Touch & Touch Bar Touch Bar 其实就是在原来 MBP 的按键区顶部新增...
    Tsui_YuenHong阅读 755评论 0 6