• 吃货联盟系统简单实现(对象+数组)


     

    package KindMethod1;

    //              菜单

    public class Food {
        private String food;        //餐品信息
        private double price;        //价格
        private int like;            //点赞数
        
        public Food() {
            super();
        }
        public Food(String food, double price,int like) {
            super();
            this.food = food;
            this.price = price;
            this.like=like;
        }
        public String getFood() {
            return food;
        }
        public void setFood(String food) {
            this.food = food;
        }
        public double getPrice() {
            return price;
        }
        public void setPrice(double price) {
            this.price = price;
        }
        public int getLike() {
            return like;
        }
        public void setLike(int like) {
            this.like = like;
        }
    }

    1. package KindMethod1;
    2. // 步骤具体实现
    3. public class Method{
    4. private NewMessage[] newmessage; //个人信息数组
    5. Food[] food; //菜单数组
    6. int num=0;
    7. int num1=0;
    8. // 初始化信息数组长度
    9. public Method(int num){
    10. newmessage=new NewMessage[num];
    11. food = new Food[num];
    12. }
    13. public void addArray(Food foods){
    14. food[num1++]=foods;
    15. }
    16. // 添加信息,添加成功显示true,否则显示false
    17. public boolean addArray(NewMessage newmessag){
    18. if(num>newmessage.length){
    19. return false;
    20. }else{
    21. newmessage[num++]=newmessag;
    22. return true;
    23. }
    24. }
    25. // 显示所有的信息
    26. public NewMessage[] showAll(){
    27. NewMessage[] newmess = new NewMessage[num];
    28. for(int i = 0;i
    29. newmess[i]=newmessage[i];
    30. }
    31. return newmess;
    32. }
    33. // 显示菜单信息
    34. public Food[] show(){
    35. Food[] food1 =new Food[num1];
    36. for(int i = 0;i
    37. food1[i]=food[i];
    38. }
    39. return food1;
    40. }
    41. // 签收订单,成功返回true,否则返回flase
    42. public boolean sign(int i){
    43. if(i<0||i>num){
    44. return false;
    45. }else if(newmessage[i].getState()==1){
    46. System.out.println("订单已签收,不能再次签收");
    47. return false;
    48. }
    49. else{
    50. newmessage[i].setState(1);
    51. return true;
    52. }
    53. }
    54. // 删除订单信息
    55. public boolean delete(int x){
    56. if(x>num || x<0){
    57. return false;
    58. }else{
    59. for(int i=x;i1;i++){
    60. newmessage[i]=newmessage[i+1];
    61. }
    62. newmessage[--num]=null;
    63. return true;
    64. }
    65. }
    66. // 点赞
    67. public boolean like(int number){
    68. if(number>num1 || number<0){
    69. return false;
    70. }else{
    71. food[number].setLike(food[number].getLike()+1);
    72. return true;
    73. }
    74. }
    75. public int showNum(){
    76. return num;
    77. }
    78. }
    1. package KindMethod1;
    2. //个人信息
    3. public class NewMessage {
    4. private String name; //姓名
    5. private double time; //送餐时间
    6. private String address; //地址
    7. private double amount; //总金额
    8. private int state; //订单状态
    9. private int number; //点餐份数
    10. public NewMessage() {
    11. super();
    12. }
    13. public NewMessage(String name, double time, String address,double amount,
    14. int number) {
    15. super();
    16. this.name = name;
    17. this.time = time;
    18. this.address = address;
    19. this.amount=amount;
    20. this.number = number;
    21. }
    22. public String getName() {
    23. return name;
    24. }
    25. public void setName(String name) {
    26. this.name = name;
    27. }
    28. public double getTime() {
    29. return time;
    30. }
    31. public void setTime(double time) {
    32. this.time = time;
    33. }
    34. public String getAddress() {
    35. return address;
    36. }
    37. public void setAddress(String address) {
    38. this.address = address;
    39. }
    40. public double getAmount() {
    41. return amount;
    42. }
    43. public void setAmount(double amount) {
    44. this.amount = amount;
    45. }
    46. public int getState() {
    47. return state;
    48. }
    49. public void setState(int state) {
    50. this.state = state;
    51. }
    52. public int getNumber() {
    53. return number;
    54. }
    55. public void setNumber(int number) {
    56. this.number = number;
    57. }
    58. }
    1. package KindMethod1;
    2. // 界面代码
    3. import java.util.Scanner;
    4. public class Test {
    5. Scanner sc = new Scanner(System.in);
    6. Method method = new Method(10);
    7. public Test(){
    8. // NewMessage newmessage = new NewMessage("李四", 12, "幸福大道45号", 76, 0, 2, 0);
    9. // method.addArray(newmessage);
    10. Food food =new Food("红烧鱼",45,0);
    11. method.addArray(food);
    12. Food food1 =new Food("红烧肉",38,0);
    13. method.addArray(food1);
    14. Food food2 =new Food("土豆丝",17,0);
    15. method.addArray(food2);
    16. }
    17. public void menu(){
    18. boolean aab=true;
    19. do{
    20. System.out.println("欢迎使用“吃货联盟订餐系统”");
    21. System.out.println("-----------------------------------------");
    22. System.out.println("\t\t1、我要订餐");
    23. System.out.println("\t\t2、查看餐袋");
    24. System.out.println("\t\t3、签收订单");
    25. System.out.println("\t\t4、删除订单");
    26. System.out.println("\t\t5、我要点赞");
    27. System.out.println("\t\t6、退出系统");
    28. System.out.println("-----------------------------------------");
    29. System.out.print("请选择:");
    30. int choose=sc.nextInt();
    31. switch (choose) {
    32. case 1:
    33. addNew();
    34. break;
    35. case 2:
    36. showMenu();
    37. break;
    38. case 3:
    39. sign();
    40. break;
    41. case 4:
    42. delete();
    43. break;
    44. case 5:
    45. like();
    46. break;
    47. case 6:
    48. aab=false;
    49. System.out.println("-------------运行结束--------------");
    50. }
    51. }while(aab);
    52. }
    53. // 下单
    54. public void addNew(){
    55. Food[] food =method.show();
    56. if(food == null){
    57. System.out.println("你还没有点餐");
    58. return;
    59. }
    60. System.out.println("编号"+"\t\t菜名"+"\t\t价格"+"\t\t点赞数");
    61. for(int i= 0 ;i
    62. System.out.println((i+1)+"\t\t"+food[i].getFood()+"\t\t"+food[i].getPrice()+"\t\t"+food[i].getLike());
    63. }
    64. System.out.println("---------------请输入你的订餐信息---------------");
    65. System.out.print("姓名:");
    66. String name = sc.next();
    67. System.out.print("送餐时间(上午十点到下午五点):");
    68. double time;
    69. boolean bool = true;
    70. do{
    71. time=sc.nextDouble();
    72. if(time>10 && time<17){
    73. bool=false;
    74. break;
    75. }
    76. System.out.println("不在配送时间内,重新输入");
    77. }while(bool==true);
    78. System.out.print("地址:");
    79. String address = sc.next();
    80. System.out.print("菜单编号:");
    81. int num=sc.nextInt();
    82. System.out.print("份数:");
    83. int number = sc.nextInt();
    84. // 计算总金额
    85. double numall = 1;
    86. if(food[num-1].getPrice()*number<50){
    87. numall=((food[num-1].getPrice()*number)+6);
    88. }else{
    89. numall=food[num-1].getPrice()*number;
    90. }
    91. NewMessage newmessage= new NewMessage(name,time,address,numall,number);
    92. boolean boole=method.addArray(newmessage);
    93. if(boole==true){
    94. System.out.println("加入成功");
    95. return;
    96. }else{
    97. System.out.println("加入失败,餐袋已满,请清理餐袋");
    98. return;
    99. }
    100. }
    101. // 查看信息
    102. public void showMenu(){
    103. System.out.println("---------------------查看餐袋----------------------");
    104. NewMessage[] newmessage = method.showAll();
    105. if(newmessage==null){
    106. System.out.println("餐袋为空!请订餐");
    107. return;
    108. }else{
    109. System.out.println("编号"+"\t姓名"+"\t时间"+"\t地址"+"\t\t总金额"+"\t订单状态"+"\t点餐份数");
    110. for (int i = 0; i < newmessage.length; i++) {
    111. System.out.println((i+1)+"\t"+newmessage[i].getName()+"\t"+newmessage[i].getTime()+"\t"+newmessage[i].getAddress()+"\t"+
    112. newmessage[i].getAmount()+"\t"+newmessage[i].getState()+"\t\t\t"+newmessage[i].getNumber());
    113. }
    114. return;
    115. }
    116. }
    117. // 签收订单
    118. public void sign(){
    119. System.out.println("---------------------签收订单----------------------");
    120. System.out.print("请输入要签收订单的编号:");
    121. int num = sc.nextInt();
    122. boolean bool= method.sign(num-1);
    123. if(bool==true){
    124. System.out.println("订单签收成功");
    125. return;
    126. }else{
    127. System.out.println("签收失败");
    128. return;
    129. }
    130. }
    131. // 删除订单
    132. public void delete(){
    133. System.out.println("---------------------删除订单----------------------");
    134. System.out.print("请输入要删除订单的编号:");
    135. int num=sc.nextInt();
    136. boolean bool = method.delete(num-1);
    137. if(bool==true){
    138. System.out.println("订单删除成功");
    139. return;
    140. }else{
    141. System.out.println("订单删除失败");
    142. return;
    143. }
    144. }
    145. // 订单点赞
    146. public void like(){
    147. System.out.println("---------------------点赞----------------------");
    148. Food[] food =method.show();
    149. if(food == null){
    150. System.out.println("你还没有点餐");
    151. return;
    152. }
    153. System.out.println("编号"+"\t\t菜名"+"\t\t价格"+"\t\t点赞数");
    154. for(int i= 0 ;i
    155. System.out.println((i+1)+"\t\t"+food[i].getFood()+"\t\t"+food[i].getPrice()+"\t\t"+food[i].getLike());
    156. }
    157. System.out.print("请输入要点赞的菜单编号:");
    158. int num = sc.nextInt();
    159. boolean bool=method.like(num-1);
    160. if(bool==true){
    161. System.out.println("点赞成功");
    162. System.out.println("---------------------点赞----------------------");
    163. System.out.println("编号"+"\t\t菜名"+"\t\t价格"+"\t\t点赞数");
    164. for(int i= 0 ;i
    165. System.out.println((i+1)+"\t\t"+food[i].getFood()+"\t\t"+food[i].getPrice()+"\t\t"+food[i].getLike());
    166. }
    167. return;
    168. }else{
    169. System.out.println("点赞失败");
    170. System.out.println("---------------------点赞----------------------");
    171. System.out.println("编号"+"\t\t菜名"+"\t\t价格"+"\t\t点赞数");
    172. for(int i= 0 ;i
    173. System.out.println((i+1)+"\t\t"+food[i].getFood()+"\t\t"+food[i].getPrice()+"\t\t"+food[i].getLike());
    174. }
    175. return;
    176. }
    177. }
    178. public static void main(String[] args) {
    179. Test test = new Test();
    180. test.menu();
    181. }
    182. }

  • 相关阅读:
    杂货铺 | citespace的使用
    人工智能、深度学习、机器学习常见面试题101~120
    [附源码]java毕业设计停车场收费管理系统
    golang 设置定时器time.NewTimer
    Django思维导图-视图
    人工神经网络分为哪两类,人工神经网络包括哪些
    dbeaver连接gaussdb
    R语言ggplot2可视化:基于aes函数中的group参数绘制分组折线图并添加数据点(散点)、geom_point函数中配置数据点形状、大小、颜色、填充色等
    题解——二维费用背包问题(宠物小精灵之收服、潜水员)
    计算机基础知识33
  • 原文地址:https://blog.csdn.net/fool_Java/article/details/126234663