• java学习3创建学生属性:学号、姓名、电话 完全实现对象集合的增删改查。(控制台来做)


    首先创建一个student类其中包括get,set与构造函数

    /**
    * 
    */
    package work2;
    
    /**
    * @author Administrator
    *
    */
    public final class Student {
    private String id;
    private int tell;
    private String name;
    /**
    * 初始化数据
    */
    public Student(String id,int tell,String name) {//构造函数赋初值
    // TODO 自动生成的构造函数存根
    this.id=id;
    this.tell=tell;
    this.name=name;
    }
    
    /**
    * 
    * @param 传入数据set与get方法,数据的安全性,给了方法自己传入数据
    */
    
    public void setId(String id){
    this.id=id;
    }
    public void setTell(int tell){
    this.tell=tell;
    }
    public void setName(String name){
    this.name=name;
    }
    public String getId(){
    return id;
    }
    public int geiTell(){
    return tell;
    }
    public String geiName(){
    return name;
    }
    }
    
    在创建一个一个MyClass类包括增删改查方法
    
    package work2;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class MyClass {
    // 建立一个List容器装数据
    private List<Student> stuList;
    
    public MyClass(){
    stuList=new ArrayList<Student>();//建立一个stu对象
    }
    
    public boolean isHere(Student stu){//封装判断一个数的方法
    boolean is=false;
    for(Student s:stuList){//遍历for each 
    if(stu.getId().equals(s.getId()))//容器里传入的对象数据=遍历的对象数据,则存在,否则不存在
    is=true;
    }
    return is;//返回判断
    }
    
    public boolean add(Student stu){
    //首先判断是否存在
    boolean is=this.isHere(stu);
    if(!is){
    stuList.add(stu);
    }
    return !is;
    }
    
    public boolean upDate(Student stu){
    //首先判断是否存在
    boolean is=this.isHere(stu);
    for(Student s:stuList){
    if(stu.getId().equals(s.getId())){
    stuList.remove(s);
    stuList.add(stu);    
    }
    }
    return is;
    }
    
    public boolean delete(String id){
    boolean isSuc=false;
    for(Student s:stuList){
    if(id.equals(s.getId())){
    stuList.remove(s);
    isSuc=true;
    }
    }
    return isSuc;
    }
    
    public List<Student> query(){
    return this.stuList;
    
    
    }
    }
    
    最后创建一个MainFrame类运用model view controller
    
    通过调用MyClass中的方法实现
    
    package work2;
    
    import java.util.List;
    import java.util.Scanner;
    
    import javax.swing.plaf.synth.SynthStyle;
    
    public class MainFrame {
    public MyClass mc;//对象
    private Scanner sc=new Scanner(System.in);
    public MainFrame() {
    // TODO 自动生成的构造函数存根
    mc=new MyClass();
    }
    public Student getInfo(){//带参数的构造函数
    System.out.println("请输入学号");    
    String id=sc.next();
    System.out.println("请输入电话");    
    int tell=sc.nextInt();
    System.out.println("请输入姓名");    
    String name=sc.next();
    Student stu=new Student(id, tell, name);//数据封装成对象,
    return stu;
    
    }
    public void add(){
    Student stu=this.getInfo();//从控制台接收数据
    boolean is=mc.add(stu);
    if(is){
    System.err.println("添加成功");
    
    }
    else
    System.out.println("添加失败");
    }
    
    public void update(){
    Student stu=this.getInfo();
    boolean is=mc.upDate(stu);
    if(is){
    System.out.println("修改·成功");
    }else
    System.out.println("修改失败");
    }
    public void delete(){
    System.out.println("请输入要删除学生的学号");
    String id=sc.next();
    boolean is=mc.delete(id);
    if(is){
    System.out.println("删除成功");
    }else
    System.out.println("删除失败,学生不存在");
    
    }
    
    public void quere(){
    List<Student> stulist=mc.query();
    for(Student s:stulist){
    System.out.println("ID:"+s.getId()+"tell:"+s.geiTell()+"name:"+s.geiName());
    
    }
    }
    
    public void start(){
    boolean is=true;
    while(is){
    System.out.println("输入你要操作的选项:");
    System.out.println("1,增加");
    System.out.println("2.删除");
    System.out.println("3,修改");
    System.out.println("4,查找");
    System.out.println("5,退出");
    int option=sc.nextInt();
    switch (option) {
    case 1:
    System.out.println("开始添加");
    add();
    break;
    
    case 2: 
    System.out.println("开始修改");
    update();
    break;
    case 3:
    System.out.println("开始查询");
    quere();
    break;
    case 4:
    System.out.println("开始删除");
    delete();
    break;
    case 5:    
    is=false;
    System.out.println("欢迎使用,下次再见!!");
    }
    }
    
    }
    public static void main(String[] args) {
    MainFrame mf=new MainFrame();
    mf.start();
    }
    
     
    
    }
    学有所思,思有所成。
  • 相关阅读:
    【回溯】数字排列问题
    Price List
    NanoApe Loves Sequence-待解决
    【回溯】n皇后问题
    安卓 学习之旅 入门
    mysql链接 显示 error: 'Access denied for user 'root'@'localhost' (using password: NO)'
    javaweb 实战_1
    java 插件安装
    leetcode 最长有效括号
    hdu 1074 Doing Homework
  • 原文地址:https://www.cnblogs.com/lqh969696/p/7761886.html
Copyright © 2020-2023  润新知