赞
踩
Java程序编写练习 :
1.创建信息类:
- package 简易学生管理系统;
-
- public class 信息{
- //定义学生ID,姓名,性别,电话号码;
- private String ID;
- private String name;
- private String gender;
- private int tel;
-
- public 信息() {}
-
- public 信息(String ID,String name,String gender,int tel) {
- this.ID=ID;
- this.name=name;
- this.gender=gender;
- this.tel=tel;
- }
- public void setID(String ID) {
- this.ID=ID;
- }
- public String getID() {
- return ID;
- }
- public void setname(String name) {
- this.name=name;
- }
- public String getname() {
- return name;
- }
- public void setgender(String gender) {
- this.gender=gender;
- }
- public String getgender() {
- return gender;
- }
- public void settel(int tel) {
- this.tel=tel;
- }
- public int gettel() {
- return tel;
- }
- }
2.创建功能实现类:
- package 简易学生管理系统;
-
- import java.util.Scanner;
- import java.util.ArrayList;
-
- public class 功能实现 {
-
- public static void main(String[] args) {
- ArrayList<信息> array = new ArrayList<信息>();
- //ArrayList用于储存 信息 中的数据。
- 信息 x1=new 信息("2022405501","Naruto","男",17657);
- 信息 x2=new 信息("2022405502","路飞","男",12345);
- 信息 x3=new 信息("2022405503","黑崎一护","男",18523);
- //初始学生信息
- array.add(x1);
- array.add(x2);
- array.add(x3);
- while(true) {//while(true)为无限循环语句,后续语句中有break即会跳出循环。
- System.out.println("-----学生管理系统-----");
- System.out.println("(1)添加学生信息");
- System.out.println("(2)查询学生信息");
- System.out.println("(3)删除学生信息");
- System.out.println("(4)退出管理系统");
- System.out.println("请选择功能:");
-
- Scanner sc=new Scanner(System.in);
- String choice = sc.nextLine();
-
- switch (choice) {
- case "1":
- add信息(array); //增
- break;
- case "2":
- findAll信息(array);//查
- break;
- case "3":
- remove信息(array); //删
- break;
- case "4": //退出
- System.out.println("谢谢您的使用");
- System.exit(0);
- }
- }
- }
-
- //添加学生信息
- public static void add信息(ArrayList<信息> array) {
- Scanner sc=new Scanner(System.in);
- String ID;
- System.out.println("请输入学生学号:");
- ID = sc.nextLine();//输入学号,nextline返回String类型数据
- boolean flag = true;//判断学生学号是否重复
- for (int i=0;i<array.size();i++) {
- // 遍历学生信息返回给学生对象
- 信息 x =array.get(i);
- // 获取该学生的学号,和键盘录入的学号进行比较
- if (x.getID().equals(ID)) {
- flag=false;// 说明学号被占用
- System.out.println("该学生已存在,请重新输入!");
- break;
- }
- }
- if (flag) {
- System.out.println("请输入学生姓名:");
- String Name = sc.nextLine();
- System.out.println("请输入学生性别:");
- String gender = sc.nextLine();
- System.out.println("请输入学生电话:");
- int tel = sc.nextInt();
-
- //创建学生对象
- 信息 x = new 信息();
- x.setID(ID);
- x.setname(Name);
- x.setgender(gender);
- x.settel(tel);
- // 把学生对象作为元素添加到集合
- array.add(x);
- System.out.println("添加成功!");
- }
- }
- //查询学生信息
- public static void findAll信息(ArrayList<信息> array) {
- if (array.size() == 0) {
- System.out.println("对不起,当前学生信息为空,请您重新选择: ");
- return;// 不让程序往下执行
- }
- // 学生信息列表
- System.out.println("学号:\t姓名:\t性别:\t年龄:\t住址:\t电话:");// \t是一个tab键的位置
- // 遍历集合
- for (int i=0; i<array.size();i++) {
- 信息 student = array.get(i);//
- System.out.println(student.getID() + "\t" + student.getname() + "\t" + student.getgender()+"\t" + student.gettel());
- }
- }
-
- public static void remove信息(ArrayList<信息> array) {
- Scanner sc=new Scanner (System.in);
- System.out.println("请输入你要删除的学生的学号: ");
- String ID = sc.nextLine(); // 键盘录入的学号返回给No
- // 作为索引
- int index = -1;
- // 遍历学生信息
- for (int i=0;i<array.size();i++) {
- 信息 x = array.get(i);
- if (x.getID().equals(ID)) {
- index = i;
- break;
- }
-
- }
-
- if (index == -1) {
- System.out.println("您要删除的学生信息不存在,请重新选择: ");
- } else {
- array.remove(index); // 删除获取的学生信息
- System.out.println("删除学生信息成功");
-
- }
- }
- }
3.编程中的问题:
(1)编写时部分代码无法解析:
解决方法:如Scanner无法解析必须添加import java.util.Scanner。
(2)学生信息重复问题:
解决方式:运用boolean flag=true or false来进行标识。先遍历学生信息,再获得学生的ID,在于键盘上输入的ID进行比较。
(3) 在查询学生信息是否存在中,如果没有查找到要修改或者删除的学生信息该怎么返回给程序:
解决方法:添加变量名为index(int index = -1;)作为索引,在数组遍历时,如果没有查到键盘输入信息,返回-1,结束程序,进行下一次循环。
4.总结:
目前水平仍然不足,此次代码编写借鉴了不少先例,所以所遇到的对自己代码有能力提升的问题不多,这一点仍需努力。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。