day06_03

红太狼 2022-04-24 02:10 311阅读 0赞

随机点名器案例

自定义类

  1. package com.tedu.Demo;
  2. /*
  3. * 描述学生的类
  4. * 属性:姓名、年龄
  5. *
  6. * */
  7. public class StudentName {
  8. String name;
  9. int age;
  10. }

在main中使用,定义StudentName类

  1. 1 package com.tedu.Demo;
  2. 2
  3. 3 /*
  4. 4 * 随机点名器
  5. 5 * 现实中有学生这个事物,使用定义类的形式,描述学生事物
  6. 6 * 属性:姓名、年龄
  7. 7 *
  8. 8 * 姓名存储看数组,将容器换成了集合
  9. 9 * String[] s = {"",""};
  10. 10 * 集合中,存储的是学生的姓名吗?应该存储的是student类型
  11. 11 *
  12. 12 * 存储学生:
  13. 13 * 学生类型,存储到集合中
  14. 14 * 总览:遍历集合
  15. 15 * 随机:随机数作为索引,到集合中找到元素
  16. 16 * 三个功能,共享数据,集合容器
  17. 17 * 定义三个方法,必须参数传递集合
  18. 18 *
  19. 19 * */
  20. 20
  21. 21 import java.util.ArrayList;
  22. 22
  23. 23 public class CallName {
  24. 24 public static void main(String[] args) {
  25. 25 ArrayList<StudentName> array = new ArrayList<StudentName>();
  26. 26 addArrayList(array); //调用集合存储学生的方法
  27. 27 printArrayList(array); //调用总览方法
  28. 28
  29. 29 randomStudentName(array); // 调用随机数输出随机学生的信息
  30. 30 }
  31. 31
  32. 32 // 随机数学生姓名
  33. 33 public static void randomStudentName(ArrayList<StudentName> array) {
  34. 34 int index = (int) (Math.random() * array.size());
  35. 35 StudentName s = array.get(index);
  36. 36 System.out.println(s.name+" "+s.age);
  37. 37
  38. 38 }
  39. 39
  40. 40 // 总览:遍历集合
  41. 41 public static void printArrayList(ArrayList<StudentName> array) {
  42. 42 for (int i = 0; i < array.size(); i++) {
  43. 43 StudentName s = array.get(i);
  44. 44 System.out.println(s.name + " " + s.age);
  45. 45
  46. 46 }
  47. 47 }
  48. 48
  49. 49 // 将学生类型存储到集合中
  50. 50 public static void addArrayList(ArrayList<StudentName> array) {
  51. 51 StudentName sn1 = new StudentName();
  52. 52 StudentName sn2 = new StudentName();
  53. 53 StudentName sn3 = new StudentName();
  54. 54 StudentName sn4 = new StudentName();
  55. 55 StudentName sn5 = new StudentName();
  56. 56
  57. 57 sn1.name = "张三";
  58. 58 sn1.age = 20;
  59. 59
  60. 60 sn2.name = "张三1";
  61. 61 sn2.age = 201;
  62. 62
  63. 63 sn3.name = "张三2";
  64. 64 sn3.age = 202;
  65. 65
  66. 66 sn4.name = "张三3";
  67. 67 sn4.age = 203;
  68. 68
  69. 69 sn5.name = "张三4";
  70. 70 sn5.age = 204;
  71. 71
  72. 72 array.add(sn1);
  73. 73 array.add(sn2);
  74. 74 array.add(sn3);
  75. 75 array.add(sn4);
  76. 76 array.add(sn5);
  77. 77 }
  78. 78
  79. 79 }

库存管理案例

自定义商品类:

  1. 1 package com.tedu.Demo;
  2. 2
  3. 3 public class Goods {
  4. 4 //定义商品名字
  5. 5 String brand;
  6. 6 //定义大小
  7. 7 double size;
  8. 8 //定义商品价格
  9. 9 double price;
  10. 10 //定义库存数量
  11. 11 int count;
  12. 12 }

主方法:

  

  1. package com.tedu.Demo;
  2. import java.util.*;
  3. /*
  4. 实现库存管理案例:
  5. 1. 存储商品信息
  6. 存储商品类型变量
  7. 将商品类型的变量,存储到集合中
  8. 2. 查看库存清单
  9. 将集合进行遍历, 获取出集合中存储的Goods类型变量
  10. 输出每一个Goods类型的属性
  11. 计算求和: 总库存,总金额
  12. 3. 修改商品的库存
  13. 集合遍历 ,获取出集合中存储的Goods类型变量
  14. 变量调用Goods类的属性count,值进行修改 (键盘输入)
  15. */
  16. public class Shopp {
  17. public static void main(String[] args) {
  18. ArrayList<Goods> array = new ArrayList<Goods>();
  19. addGoods(array);
  20. while(true){
  21. int number = chooseFunction();
  22. switch(number){
  23. case 1:
  24. printGoods(array);
  25. break;
  26. case 2:
  27. update(array);
  28. break;
  29. case 3:
  30. return;
  31. default:
  32. System.out.println("无此功能!");
  33. break;
  34. }
  35. }
  36. }
  37. //定义方法,实现选择菜单,用户根据功能选择菜单
  38. public static int chooseFunction(){
  39. System.out.println("-------------库存管理------------");
  40. System.out.println("1.查看库存清单");
  41. System.out.println("2.修改商品库存数量");
  42. System.out.println("3.退出");
  43. System.out.println("请输入要执行的操作序号:");
  44. Scanner scan = new Scanner(System.in);
  45. int number = scan.nextInt();
  46. return number;
  47. }
  48. //修改商品的库存
  49. public static void update(ArrayList<Goods> array){
  50. Scanner scan = new Scanner(System.in);
  51. for(int i=0;i<array.size();i++){
  52. //集合方法get获取的是集合的元素,元素类型Goods
  53. Goods g = array.get(i);
  54. System.out.println("请输入"+g.brand+"的数量");
  55. //Goods属性,count进行修改
  56. g.count = scan.nextInt();
  57. }
  58. }
  59. // 定义方法,查看库存清单
  60. public static void printGoods(ArrayList<Goods> array) {
  61. // 输出表头
  62. System.out.println("----------商场库存清单----------");
  63. System.out.println("品牌型号 尺寸 价格 库存数");
  64. int totalCount = 0;
  65. double totalPrice = 0;
  66. for (int i = 0; i < array.size(); i++) {
  67. Goods g = array.get(i);
  68. System.out.println(g.brand + " " + g.size + " " + g.price
  69. + " " + g.count);
  70. totalCount += g.count;
  71. totalPrice = g.count*g.price;
  72. }
  73. System.out.println("总库存:"+totalCount);
  74. System.out.println("总价值:"+totalPrice);
  75. }
  76. // 定义方法,将商品的信息存储的集合中
  77. public static void addGoods(ArrayList<Goods> array) {
  78. // 创建商品类型变量 Goods类型的变量
  79. Goods g1 = new Goods();
  80. Goods g2 = new Goods();
  81. g1.brand = "MacBook";
  82. g1.size = 13.3;
  83. g1.price = 8999.88;
  84. g1.count = 5;
  85. g2.brand = "ThinkPad";
  86. g2.size = 15.6;
  87. g2.price = 5999.88;
  88. g2.count = 2;
  89. // goods类型的变量存到集合中
  90. array.add(g1);
  91. array.add(g2);
  92. }
  93. }

发表评论

表情:
评论列表 (有 0 条评论,311人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Day43~Day49

    Day43 数据结构 1.某二叉树的先根遍历序列和后根遍历序列正好相反,则该二叉树具有的特征是\_\_\_\_\_\_ (中国科学院大学-2018) A.高

    相关 Day29~Day35

    Day29 数据结构 1. 若有18个元素的有序表存放在一维数组A\[19\]中,第一个元素放A\[1\]中,现进行二分查找,则查找A\[3\]的比较序列的下标依

    相关 Day22~Day28

    Day22 数据结构 1. 对于下图所示的二叉树,若对其遍历后得到的遍历序列为4,6,7,5,2,3,1,则由此可以断定所采用的遍历方法是\_\_\_\_\_(北

    相关 Day1~Day7

    Day1 数据结构 1. 以下那一个术语与数据的存储结构无关\_\_\_\_\_ A、栈 B、哈希表 C、线索树 D、双向链表 答案:A 解