• 集合-增删改查


     A: 创建一个接口StudentManager
    B:创建一个实现类:StudentManagerImpl{
    成员变量:List<Map> students;
    public boolean addstudents(){
    创建一个Map ;scanner录入:学生姓名 学生学号 学生性别 学生年龄
    遍历students判断这个学生学号是否已经添加过,如果已经添加过返回false
    否则:封装Map放入students列表中
    }
    Public index search(String 学生学号){
    根据学号查找学生信息
    }
    根据学号找到学生并修改该学生成绩
     根据学号找到学生并删除该学生信息
     }
    C:书写一个main方法进行测试

    接口:
    1 package test01;
    2 
    3 public interface StudentManager {
    4     public boolean addstudents();
    5     public int search(int sid);
    6     public void change();
    7     public void delete();
    8 }

    实现类:

      1 package test01;
      2 
      3 import java.util.*;
      4 
      5 public class StudentManagerImpl implements StudentManager {
      6     List<Map> students=new ArrayList<>();
      7     Scanner scanner=new Scanner(System.in);
      8     //添加学生
      9     @Override
     10     public boolean addstudents() {
     11         System.out.println("请录入学生学号");
     12         int sid=scanner.nextInt();
     13         int seachSid=search(sid);
     14         if (seachSid==-1){
     15             System.out.println("请录入学生姓名");
     16             String stuname=scanner.next();
     17             System.out.println("请录入学生性别");
     18             String stusex=scanner.next();
     19             System.out.println("请录入学生成绩");
     20             int score=scanner.nextInt();
     21             Map map=new HashMap();
     22             map.put("学号",sid);
     23             map.put("姓名",stuname);
     24             map.put("性别",stusex);
     25             map.put("成绩",score);
     26             students.add(map);
     27         }else {
     28             System.out.println("该学号学生信息:"+students.get(seachSid)+"已存在请重新录入");
     29         }
     30         return false;
     31     }
     32     //查找学号下标
     33     @Override
     34     public int search(int sid) {
     35         int index=-1;
     36         for (int i = 0; i < students.size(); i++) {
     37             if (students.get(i).get("学号").equals(sid)){
     38                 index=i;
     39             }
     40         }
     41         return index;
     42     }
     43     //根据学号查询到学生信息并修改该生的成绩
     44     @Override
     45     public void change(){
     46         System.out.println("请录入要修改成绩的学生学号");
     47         int sid=scanner.nextInt();
     48         int index=search(sid);
     49         if (index==-1){
     50             System.out.println("查无此人");
     51         }else {
     52             System.out.println("要修改成绩的学生为:"+students.get(index));
     53             System.out.println("请录入新的成绩");
     54             int newscore=scanner.nextInt();
     55             int old= (int) students.get(index).get("成绩");
     56             students.get(index).put("成绩",newscore);
     57             System.out.println("修改成功!修改结果为:"+students.get(index));
     58             System.out.println(students);
     59         }
     60     }
     61     //根据学号删除学生信息
     62     @Override
     63     public void delete(){
     64         while (true){
     65             System.out.println("请输入要删除的学生学号");
     66             int destu=scanner.nextInt();
     67             int index=search(destu);
     68             if (index==-1){
     69                 if (destu==0)break;
     70                 System.out.println("删除失败!该生不存在,请重新录入或输入0退出删除操作");
     71             }else {
     72                 students.remove(index);
     73                 System.out.println("删除成功!");
     74                 System.out.println(students);
     75                 break;
     76             }
     77         }
     78     }
     79 
     80     public static void main(String[] args) {
     81         StudentManagerImpl studentManager=new StudentManagerImpl();
     82         Scanner scanner=new Scanner(System.in);
     83         while (true){
     84             System.out.println("录入指令进行操作:1、添加学生 2、查找学生 3、修改学生成绩 4、删除学生信息 5、退出");
     85             int choose=scanner.nextInt();
     86             if (choose==1){
     87                 studentManager.addstudents();
     88                 System.out.println(studentManager.students);
     89             }else if (choose==2){
     90                 while (true){
     91                     System.out.println("请录入学号查找学生");
     92                     int idFindStu=scanner.nextInt();
     93                     int index=studentManager.search(idFindStu);
     94                     if (index==-1){
     95                         if (idFindStu==0)break;
     96                         System.out.println("查找失败,请重新录入或输入0退出查找");
     97                     }else {
     98                         System.out.println("查找成功:"+studentManager.students.get(index));
     99                         break;
    100                     }
    101                 }
    102             }else if (choose==3){
    103                 studentManager.change();
    104             }else if (choose==4){
    105                 studentManager.delete();
    106             }
    107             else if (choose==5){
    108                 System.out.println("已退出操作");
    109                 break;
    110             }
    111         }
    112     }
    113 }
  • 相关阅读:
    无法跨越程序集边界使用程序集,因为该成员包含的某个类型具有一个为嵌入互操作类型的泛型类型参数。
    arcengine右键实现new group layer的功能
    winform进度条
    arcgisengine实现矩形转面
    win10 SVN不能显示图标
    关于VS打包程序无法弹出主界面的问题
    ArcGIS Javascript 异常之No 'Access-Control-Allow-Origin' header
    ArcGIS JavaScript API异常之onExtentChange事件覆盖onClick事件
    ArcGIS AddIN 之 DockPanel 界面空白
    关于JQuery设置checkbox checked 的问题
  • 原文地址:https://www.cnblogs.com/zhanhaoze/p/13221129.html
Copyright © 2020-2023  润新知