• 【Java】— —实现人物对象的增、删、改、查(注:对象的删除以逻辑删除为主,在person类中设置“删除状态字段”,字删除该字段时,将状态改为有效。)


    🎐今天我们带领大家来实现人物对象的增、删、改、查(注:对象的删除以逻辑删除为主,在person类中设置“删除状态字段”,字删除该字段时,将状态改为有效。)


    目录

    🎯定义person类:

    🎆类属性:

    🎆有参和无参构造:

    🎆 tostring函数的重写:

    🎆 get和set函数:

    🎆总: 

    🎯 添加人物函数:

    🎯 删除人物函数:

    🎯 查找人物函数:

    🎯 修改人物属性函数:

     🎯输出人物属性函数:

    🎯总代码:


    🎯定义person类:

    🎆类属性:

    1. String name;
    2. String sex;
    3. LocalDate brithday;
    4. boolean remove = false;

    🎆有参和无参构造:

    1. public person() {
    2. super();
    3. }
    4. public person(String name, String sex, LocalDate brithday) {
    5. super();
    6. this.name = name;
    7. this.sex = sex;
    8. this.brithday = brithday;
    9. }

    🎆 tostring函数的重写:

    1. @Override
    2. public String toString() {
    3. return "[name=" + name + ", sex=" + sex + ", brithday=" + brithday + "]\n";
    4. }

    🎆 get和set函数:

    1. public String getName() {
    2. return name;
    3. }
    4. public void setName(String name) {
    5. this.name = name;
    6. }
    7. public String getSex() {
    8. return sex;
    9. }
    10. public void setSex(String sex) {
    11. this.sex = sex;
    12. }
    13. public LocalDate getBrithday() {
    14. return brithday;
    15. }
    16. public void setBrithday(LocalDate brithday) {
    17. this.brithday = brithday;
    18. }

    🎆总: 

    1. class person {
    2. String name;
    3. String sex;
    4. LocalDate brithday;
    5. boolean remove = false;
    6. public person() {
    7. super();
    8. }
    9. public person(String name, String sex, LocalDate brithday) {
    10. super();
    11. this.name = name;
    12. this.sex = sex;
    13. this.brithday = brithday;
    14. }
    15. @Override
    16. public String toString() {
    17. return "[name=" + name + ", sex=" + sex + ", brithday=" + brithday + "]\n";
    18. }
    19. public String getName() {
    20. return name;
    21. }
    22. public void setName(String name) {
    23. this.name = name;
    24. }
    25. public String getSex() {
    26. return sex;
    27. }
    28. public void setSex(String sex) {
    29. this.sex = sex;
    30. }
    31. public LocalDate getBrithday() {
    32. return brithday;
    33. }
    34. public void setBrithday(LocalDate brithday) {
    35. this.brithday = brithday;
    36. }
    37. }

    🎯 添加人物函数:

    1. public static void add(Vector v) {
    2. System.out.println("添加人物及属性");
    3. System.out.println("请输入添加人物的姓名:");
    4. String n = scan.next();
    5. System.out.println("请输入添加人物的性别:");
    6. String s = scan.next();
    7. System.out.println("请输入添加人物的出生日期(格式:年 月 日)");
    8. int y = scan.nextInt();
    9. int m = scan.nextInt();
    10. int d = scan.nextInt();
    11. v.add(new person(n, s, LocalDate.of(y, m, d)));
    12. System.out.println("添加成功");
    13. }

    🎯 删除人物函数:

    1. public static void del(Vector v) {
    2. System.out.println("请输入删除人物的姓名:");
    3. B: for (;;) {
    4. String n1 = scan.next();
    5. int i;
    6. for (i = 0; i < v.size(); i++) {
    7. if (v.get(i).getName().equals(n1) && v.get(i).remove == false) {
    8. v.get(i).remove = true;
    9. System.out.println("删除成功!");
    10. if (i == v.size() - 1)
    11. break B;
    12. }
    13. }
    14. if (i >= v.size())
    15. System.out.println("未找到该人物!请重新输入:");
    16. }
    17. }

    🎯 查找人物函数:

    1. public static void find(Vector v) {
    2. System.out.println("请输入要查找人物的姓名:");
    3. C: for (;;) {
    4. String n2 = scan.next();
    5. int i1;
    6. for (i1 = 0; i1 < v.size(); i1++) {
    7. if (v.get(i1).getName().equals(n2) && v.get(i1).remove == false) {
    8. System.out.println("查找成功!该人物的相关属性为:" + v.get(i1));
    9. if (i1 == v.size() - 1)
    10. break C;
    11. }
    12. }
    13. if (i1 >= v.size())
    14. System.out.println("查找失败!请重新输入:");
    15. }
    16. }

    🎯 修改人物属性函数:

    1. public static void chage(Vector v) {
    2. System.out.println("请输入您要修改的人物的姓名:");
    3. D: for (;;) {
    4. String n3 = scan.next();
    5. int i2;
    6. for (i2 = 0; i2 < v.size(); i2++) {
    7. if (v.get(i2).getName().equals(n3) && v.get(i2).remove == false) {
    8. System.out.println("该用户存在,下面进入修改操作:");
    9. System.out.println("请输入修改后人物的姓名:");
    10. String n0 = scan.next();
    11. System.out.println("请输入修改后人物的性别:");
    12. String s0 = scan.next();
    13. System.out.println("请输入修改后人物的出生日期(格式:年 月 日)");
    14. int y0 = scan.nextInt();
    15. int m0 = scan.nextInt();
    16. int d0 = scan.nextInt();
    17. v.get(i2).setName(n0);
    18. v.get(i2).setSex(s0);
    19. v.get(i2).setBrithday(LocalDate.of(y0, m0, d0));
    20. System.out.println("恭喜你修改成功!!修改后的人物及其属性为:");
    21. System.out.println(v.get(i2));
    22. break D;
    23. }
    24. }
    25. if (i2 >= v.size()) {
    26. System.out.println("该人物不存在!请重新输入:");
    27. }
    28. }
    29. }

     🎯输出人物属性函数:

    1. public static void put(Vector v) {
    2. int i3;
    3. for (i3 = 0; i3 < v.size(); i3++) {
    4. if ( v.get(i3).remove == false)
    5. System.out.println(v.get(i3));
    6. }
    7. }

    🎯总代码:

    1. package one;
    2. import java.time.LocalDate;
    3. import java.util.Calendar;
    4. import java.util.Scanner;
    5. import java.util.Vector;
    6. public class New {
    7. static Scanner scan = new Scanner(System.in);
    8. public static void main(String[] args) {
    9. // TODO Auto-generated method stub
    10. person p1 = new person("liubei", "男", LocalDate.of(1993, 8, 15));
    11. person p2 = new person("guanyu", "男", LocalDate.of(1997, 9, 24));
    12. person p3 = new person("diaochan", "女", LocalDate.of(1994, 2, 28));
    13. person p4 = new person("miyue", "女", LocalDate.of(1995, 12, 8));
    14. Vector v1 = new Vector();
    15. v1.add(p1);
    16. v1.add(p2);
    17. v1.add(p3);
    18. v1.add(p4);
    19. A: for (;;) {
    20. System.out.println("请输入你需要执行的操作的下标:");
    21. System.out.println("1.添加人物及属性");
    22. System.out.println("2.删除人物及属性");
    23. System.out.println("3.查找人物");
    24. System.out.println("4.修改人物属性");
    25. System.out.println("5.输出所有人物及属性");
    26. System.out.println("6.退出");
    27. System.out.println("---------------------------------");
    28. int choice = scan.nextInt();
    29. switch (choice) {
    30. case 1:
    31. add(v1);
    32. break;
    33. case 2:
    34. del(v1);
    35. break;
    36. case 3:
    37. find(v1);
    38. break;
    39. case 4:
    40. chage(v1);
    41. break;
    42. case 5:
    43. put(v1);
    44. break;
    45. case 6:
    46. System.out.println("您已退出!!再见!");
    47. break A;
    48. default:
    49. System.out.println("输入错误,请重新输入:");
    50. }
    51. System.out.println("------------------------------------");
    52. }
    53. }
    54. public static void add(Vector v) {
    55. System.out.println("添加人物及属性");
    56. System.out.println("请输入添加人物的姓名:");
    57. String n = scan.next();
    58. System.out.println("请输入添加人物的性别:");
    59. String s = scan.next();
    60. System.out.println("请输入添加人物的出生日期(格式:年 月 日)");
    61. int y = scan.nextInt();
    62. int m = scan.nextInt();
    63. int d = scan.nextInt();
    64. v.add(new person(n, s, LocalDate.of(y, m, d)));
    65. System.out.println("添加成功");
    66. }
    67. public static void del(Vector v) {
    68. System.out.println("请输入删除人物的姓名:");
    69. B: for (;;) {
    70. String n1 = scan.next();
    71. int i;
    72. for (i = 0; i < v.size(); i++) {
    73. if (v.get(i).getName().equals(n1) && v.get(i).remove == false) {
    74. v.get(i).remove = true;
    75. System.out.println("删除成功!");
    76. if (i == v.size() - 1)
    77. break B;
    78. }
    79. }
    80. if (i >= v.size())
    81. System.out.println("未找到该人物!请重新输入:");
    82. }
    83. }
    84. public static void find(Vector v) {
    85. System.out.println("请输入要查找人物的姓名:");
    86. C: for (;;) {
    87. String n2 = scan.next();
    88. int i1;
    89. for (i1 = 0; i1 < v.size(); i1++) {
    90. if (v.get(i1).getName().equals(n2) && v.get(i1).remove == false) {
    91. System.out.println("查找成功!该人物的相关属性为:" + v.get(i1));
    92. if (i1 == v.size() - 1)
    93. break C;
    94. }
    95. }
    96. if (i1 >= v.size())
    97. System.out.println("查找失败!请重新输入:");
    98. }
    99. }
    100. public static void chage(Vector v) {
    101. System.out.println("请输入您要修改的人物的姓名:");
    102. D: for (;;) {
    103. String n3 = scan.next();
    104. int i2;
    105. for (i2 = 0; i2 < v.size(); i2++) {
    106. if (v.get(i2).getName().equals(n3) && v.get(i2).remove == false) {
    107. System.out.println("该用户存在,下面进入修改操作:");
    108. System.out.println("请输入修改后人物的姓名:");
    109. String n0 = scan.next();
    110. System.out.println("请输入修改后人物的性别:");
    111. String s0 = scan.next();
    112. System.out.println("请输入修改后人物的出生日期(格式:年 月 日)");
    113. int y0 = scan.nextInt();
    114. int m0 = scan.nextInt();
    115. int d0 = scan.nextInt();
    116. v.get(i2).setName(n0);
    117. v.get(i2).setSex(s0);
    118. v.get(i2).setBrithday(LocalDate.of(y0, m0, d0));
    119. System.out.println("恭喜你修改成功!!修改后的人物及其属性为:");
    120. System.out.println(v.get(i2));
    121. break D;
    122. }
    123. }
    124. if (i2 >= v.size()) {
    125. System.out.println("该人物不存在!请重新输入:");
    126. }
    127. }
    128. }
    129. public static void put(Vector v) {
    130. int i3;
    131. for (i3 = 0; i3 < v.size(); i3++) {
    132. if ( v.get(i3).remove == false)
    133. System.out.println(v.get(i3));
    134. }
    135. }
    136. }
    137. class person {
    138. String name;
    139. String sex;
    140. LocalDate brithday;
    141. boolean remove = false;
    142. public person() {
    143. super();
    144. }
    145. public person(String name, String sex, LocalDate brithday) {
    146. super();
    147. this.name = name;
    148. this.sex = sex;
    149. this.brithday = brithday;
    150. }
    151. @Override
    152. public String toString() {
    153. return "[name=" + name + ", sex=" + sex + ", brithday=" + brithday + "]\n";
    154. }
    155. public String getName() {
    156. return name;
    157. }
    158. public void setName(String name) {
    159. this.name = name;
    160. }
    161. public String getSex() {
    162. return sex;
    163. }
    164. public void setSex(String sex) {
    165. this.sex = sex;
    166. }
    167. public LocalDate getBrithday() {
    168. return brithday;
    169. }
    170. public void setBrithday(LocalDate brithday) {
    171. this.brithday = brithday;
    172. }
    173. }

    🎃 注:该程序存在部分bug,检查出来的友友可以放在评论区,感谢!!!总代码或分代码有部分不解的友友可以在评论区提问或者关注博主,私信提问!

  • 相关阅读:
    小程序制作(超详解!!!)第十三节 随机数求和
    ElementUI浅尝辄止29:Breadcrumb 面包屑
    几句话理解Kubetnetes中的Service资源的几种类型
    JavaWeb搭建学生管理系统(手把手)
    前馈神经网络(FFNN)和多层感知机(MLP)
    HCIP 第十四天
    金融信创与云化转型|保险超融合架构转型与场景探索合集
    【C++】多线程的学习笔记(3)——白话文版(bushi
    2023年最佳键盘:打字和游戏的顶级键盘,总共十款,总有一款适合你
    【优化算法】基于matlab反向策略的麻雀搜索算法【含Matlab源码 1918期】
  • 原文地址:https://blog.csdn.net/shsjssnn/article/details/133588650