python spyder jupyter

python
编辑 菜单和其他的方法有什么区别
创建一个学生信息管理系统,学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail

功能:1.系统以菜单方式工作

    2.学生信息录入功能(文件)

    3.学生信息浏览

    4.查询排序功能

        1)学号排序

        2)姓名排序

public class Student {
//学生信息包括有(学生学号、姓名、性别、手机号码
private int id;
private String name;
private String sex;
private String phone;
public Student() {
}
public Student(int id, String name, String sex, String phone) {
this.id = id;
this.name = name;
this.sex = sex;
this.phone = phone;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public String toString() {
return "学号:" + id + "\t 姓名:" + name + "\t 性别:" + sex + "\t 电话:" + phone ;
}

}
import java.util.Scanner;

/*
编写一个学生信息管理系统:学生信息包括有(学生学号、姓名、性别、手机号码),系统以学生对象数组的方式存储学生信息
(初始数组为10个元素,每当数组存储满时,需要进行扩容,扩容规则可以为翻倍也可以固定增长)
系统对学生的操作包括:新增、查询、修改、删除。
大概流程如下:
请选择操作:退出请输入bye
1.新增
2.查询
3.修改
4.删除
输入:1
请输入:学生学号,姓名,性别,手机号码
输入:学生学号,姓名,性别,手机号码
新增完成,请继续操作!
请选择操作:退出请输入bye
1.新增
2.查询
3.修改
4.删除
输入:2
请输入学生的姓名
钱钟书
查询学生:
学生学号,姓名,性别,手机号码
查询完毕,请继续操作!
请选择操作:退出请输入bye
1.新增
2.查询
3.修改
4.删除
输入:3
请输入要修改的学生学号:
10000
学生不存在,请继续操作!
请选择操作:退出请输入bye
1.新增
2.查询
3.修改
4.删除
输入4
请输入学生学号
删除成功

  • /
    public class StudentManage {
    // 定义对象数组的存储空间
    private Student[] students = new Student[4]; public static void main(String[] args) {
      // 创建类对象,通过类对象调用非静态的方法
      StudentManage sm = new StudentManage();
      // 初始化部分数据
      sm.initStudent();
    
      // 菜单
      while (true) {
          String select = sm.menu();
          switch (select) {
          case "1":
              sm.addStudent();// 新增
              break;
          case "2":
              sm.queryStudent();// 查找
              break;
          case "3":
              sm.modify();// 修改
              break;
          case "4":
              sm.deleteStudent();// 删除
              break;
          case "bye":
              System.out.println("谢谢您的使用");// 退出
              return;
          default:
              System.out.println("功能未开放");
              break;
          }
      }
    
    } // 修改学生信息
    public void modify() {
      Scanner sc = new Scanner(System.in);
      // 从数组中找到引用值不为null的空间,存在学号,则修改, 若 学生不存在,请继续操作!
      System.out.println("请输入要修改的学生学号");
      int id = sc.nextInt();
      boolean b = true;
      for (int i = 0; i < students.length; i++) {
          if (students[i] != null && students[i].getId() == id) {
              System.out.println(students[i]);// 存在学号,先输出该学号的学生信息,然后修改
              b = true;
    
              // 学号不修改
              System.out.println("请输入要修改的学生姓名:");
              String name = sc.next();
              students[i].setName(name);
              System.out.println("请输入要修改的学生性别:");
              String sex = sc.next();
              students[i].setSex(sex);
              System.out.println("请输入要修改的手机号码:");
              String phone = sc.next();
              students[i].setPhone(phone);
              System.out.println("修改完成");
              break;
          } else {
              b = false;
          }
      }
      // 学生不存在
      if (b == false) {
          System.out.println("修改失败!没有找到要修改的学生信息!!");
      }
    
    }
    //查找学生 小菜单 1.按照学生姓名查找2.总览学生3.返回
    public void queryStudent() {
      while(true) {
          Scanner sc=new Scanner(System.in);
          System.out.println("1.按照学生姓名查找");
          System.out.println("2.  总览学生          ");
          System.out.println("3.   返回               ");
          System.out.println("请选择对应的操作:");
          int select=sc.nextInt();
          
          //按照姓名查找
          if(select==1) {
              System.out.println("请输入学生的姓名:");
              String name=sc.next();
              //返回的下标值,根据下标,输出要找的某一个学生信息
              int index=queryByName(name);
              if(index!=-1) {
                  System.out.println("找到了该学生信息:");
                  System.out.println(students[index]);
              }else{
                  System.out.println("没有找到该姓名的学生信息");
              }
          //总览
          }else if(select==2) {
              queryByAll();
          }else if(select==3) {
              //结束查找方法,跳出循环
              break;
          }
      }
    
    }
    //查找 总览学生信息
    public void queryByAll() {
      for (int i = 0; i < students.length; i++) {
          if(students[i]!=null) {
              System.out.println(students[i]);
          }
      }
    
    }
    //按照姓名查找
    public int queryByName(String name) {
      //存在要查找的学生姓名,输出该学生的信息,不存在,提示没有要查找的学生信息
      for (int i = 0; i < students.length; i++) {
          if(students[i]!=null && students[i].getName().equals(name)) {
              return i;//找到了就返回下标
          }
      }
      return -1;
    
    }
    //删除学生
    public void deleteStudent() {
      Scanner sc=new Scanner(System.in);
      System.out.println("请输入要删除的学生学号:");
      int id=sc.nextInt();
      //查找到学号,从数组中删除学生,没查找到,输出没有该学生信息
      boolean b=true;
      for (int i = 0; i < students.length; i++) {
          //从数组头开始找,一个引用值不为null的空间
              if(students[i]!=null && students[i].getId()==id) {
                  System.out.println(students[i]);
                  b=true;//找到学生的id
                  students[i]=null;
                  System.out.println("删除成功!");
                  break;//删除后要跳出循环
              }else{
                  b=false;
              }
      }
      //没有找到学生的id
      if(b==false) {
          System.out.println("删除失败,没有找到要删除的学生信息!");}
    
    }
    //添加学生
    public void addStudent() {
      Scanner sc=new Scanner(System.in);
      //输入要添加的学生信息
      System.out.println("请输入要新增的学生学号:");
      int id=sc.nextInt();
      //保证学生的学号是唯一的,如果已存在,则不能新增
      for (int i = 0; i < students.length; i++) {
          if(students[i]!=null && students[i].getId()==id) {
              System.out.println("该学生已存在,不能新增!");
              return;
          }
      }
      System.out.println("请输入要新增的学生姓名:");
      String name=sc.next();
      //保证了数组中 学生的姓名是唯一的
      //如果数组中已经有了要添加的学生姓名,则不能添加
      int index=queryByName(name);
      if(index!=-1) {
          System.out.println("该学生已存在,不能新增!");
          return;
      }
      System.out.println("请输入要新增的学生性别:");
      String sex=sc.next();
      System.out.println("请输入要新增的学生手机号码:");
      String phone=sc.next();
      //将信息添加到学生对象数组中
      //从数组头开始找,直到找到一个引用值 为null的空间,添加学生信息
      boolean isFull=true;
      for (int i = 0; i if(students[i]==null) {
              students[i]=new Student(id,name,sex,phone);
              System.out.println("新增完成,请继续操作!");
              isFull=false;
              break;
          }
      }
      if(isFull==true) {
          //每当数组存储满时,需要进行扩容,扩容  翻倍...........................?
          //新建一个学生对象数组,并指定新的数组的长度是原来的2倍
          Student[] newStudents= new Student[students.length*2];
          //通过遍历,把 原来数组里的学生赋值到了新的数组里
          for(int i=0;i[i]=students[i];
          }
          //然后再把新的数组赋值给原来的数组,因为,下面的操作要用到原来的对象数组
          students=newStudents;
      }
    
    } //菜单
    public String menu() {
      System.out.println("请选择操作:退出请输入bye");
      System.out.println("1.新增学生信息");
      System.out.println("2.查询学生信息");
      System.out.println("3.修改学生信息");
      System.out.println("4.删除学生信息");
      Scanner sc=new Scanner(System.in);
      String select=sc.next();
      return select;
    
    }
    //初始化部分数据
    public void initStudent() {
      students[0]=new Student(101,"张三","男","15566668888");
      students[1]=new Student(102,"李四","男","14455557777");
      students[2]=new Student(103,"王二","男","12233336666");
    
    }
    }
文章:spyder/jupyter使用 中也许有你想要的答案,请看下吧