java
主页 > 软件编程 > java >

Java实现简单点餐系统的介绍

2022-01-25 | 秩名 | 点击:

用Java实现简单点餐系统,供大家参考,具体内容如下

程序控制分析:

1、欢迎页循环:do-while
2、Scanner 控制输入
3、选择页循环:switch-case

要求:

订单信息:String 二维数组
序号、姓名、餐品名称、份数、价格、总价、地址、时间(10-20)、状态(已预定、已完成)、热度(int型)

签收订单:改变订单状态,已预定可以签收,如果已经完成则不能再次签收。

删除订单:不能删除未完成订单,序号要随之改变。

我要点赞:对相应的餐品点赞,并展示。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

package Practice;

 

import java.util.Scanner;

 

public class Obj {

    public static void main(String[] args) {

        Scanner sc=new Scanner(System.in);

        String dishes[]={"红烧肉","烧熊掌","清蒸鱼","白斩鸡","烤乳鸽"};

        int price[]={58,88,45,56,44};

        int honors[]={50,100,20,12,44};

        int hot[]={5,4,3,2,0};

        String orders[][]=new String[1024][];

 

        int chose=0;

        System.out. println("欢迎关岭红浪漫餐厅");

        do {

            System.out.println("*****************");    //显示菜单

            System.out.println("1、我要订餐");

            System.out.println("2、查看餐袋");

            System.out.println("3、签收订单");

            System.out.println("4、删除订单");

            System.out.println("5、我要点赞");

            System.out.println("6、退出系统");

            System.out.println("*****************");

            System.out.println("请选择:");

            chose=sc.nextInt();

//订餐流程-------------------------------------------------------------------------------------

            switch (chose) {

 

                case 1:

                    System.out.println("***我要订餐***");

                    System.out.println("请输入订餐人姓名:");

                    String name=sc.next();

 

                    System.out.println("序号     菜品    单价   热度");

                    for (int i = 0; i < dishes.length; i++) {

                        System.out.println(i+1+"\t\t"+dishes[i]+"\t"+price[i]+"元\t"+"\t"+hot[i]);

                    }

 

                    int dishNum=0;

                    do{

                        System.out.println("菜品编号");

                        dishNum=sc.nextInt();

                        if ((dishNum<1||dishNum>dishes.length)){

                            System.out.println("对不起,输入有误,请重新输入!");

                        }

                    }while (dishNum<1||dishNum>dishes.length);

 

                    int pcs=0;

                    do {

                        System.out.println("份数");

                        pcs=sc.nextInt();

                        if (pcs<1){

                            System.out.println("对不起,输入有误,请重新输入!");

                        }

                    }while (pcs<1);

 

 

                    int time;

                    do {

                        System.out.println("送餐时间");

                        time=sc.nextInt();

                        if (time<10||time>22){

                            System.out.println("对不起,输入有误,请重新输入!");

                        }

                    }while (time<10||time>22);

 

                    System.out.println("地址");

                    String addres=sc.next();

 

                    System.out.println("success!");

                    System.out.println(

                            "您定的商品信息是:" +dishes[dishNum]+ "\t" +dishNum+"份");

                    System.out.println("送餐时间为"+time);

 

                    double cost=price[dishNum-1]*pcs;

                    double sent=cost>50?0:6;

                    double total=cost+sent;

                    System.out.println("餐费共计"+total+" 其中快递费"+sent+"元");

 

                    for (int i = 0; i < orders.length; i++) {

                        if (orders[i]==null){

                            orders[i]=new String[3];

                            orders[i][0]=name+"\t"+dishes[dishNum-1]+"\t"

                                    +pcs+"份\t"+time+"\t"+addres+"\t"+cost+"元";  //orders第一存储 菜品信息

                            orders[i][1]="已预定";                      //orders第二存储 订单信息

                            break;

                        }

                    }

 

                    break;

//查看餐袋------------------------------------------------------------------------------

                case 2:

                    System.out.println("***查看餐袋***");

                    System.out.println("序号\t订餐人  餐品信息 时间 地址 总金额    订单状态");

                    for (int i = 0; i < orders.length; i++) {

                        if (orders[i]!=null){

                            System.out.println(i+1+"\t"+orders[i][0]+"\t\t"+orders[i][1]);

                        }else{

                            break;

                        }

                    }

                    break;

//订单签收----------------------------------------------------------------------------

                case 3:

                    System.out.println("***签收订单***");

                    int num;

                    int end=0;

                    System.out.println("序号\t订餐人  餐品信息 时间 地址 总金额    订单状态");

                    for (int i = 0; i < orders.length; i++) {

                        if (orders[i]!=null){

                            System.out.println(i+1+"\t"+orders[i][0]+"\t\t"+orders[i][1]);

                        }else{

                            break;

                        }

                    }

 

                    do {

                        System.out.println("请输入要签收订单序号:");

                        for (int i = 0; i < orders.length; i++) {

                            if (orders[i]==null){

                                end=i+1;

                                break;

                            }

                        }

 

                        num=sc.nextInt();

 

                        if (num<0||num>end){

                            System.out.println("输入有误");

                        }else if ("已预定".equals(orders[num-1][1])){

                            orders[num-1][1]="已完成";

                            System.out.println("订单已完成");

                            break;

                        }else{

                            System.out.println("订单已签收,不能重复签收");

                            break;

                        }

 

                    }while (num<1||num>end||"已预定".equals(orders[num-1][1]));

 

                    break;

//删除订单------------------------------------------------------------------------

                case 4:

                    System.out.println("***删除订单***");

                    int n=0;   //输入数字

                    int e=0;  // 订单的最大数量

                    System.out.println("序号\t订餐人 \t餐品信息 \t送餐时间 \t地址 \t总金额 \t状态");

                    for (int i = 0; i < orders.length; i++) {

                        if (orders[i]!=null){

                            System.out.print(i+1+"\t"+orders[i][0]+"\t"+orders[i][1]+"\t");

                            System.out.println("\t  "+orders[i][1]);

                        }else{

                            break;

                        }

                    }

 

 

                    do {

                        for (int i = 0; i < orders.length; i++) {        //确定订单的最大数量

                            if (orders[i]==null){

                                e=i;

                                break;

                            }

                        }

 

                        System.out.println("要删除的订单编号:");

                        n=sc.nextInt();

                    if (n<1||n>e){

                        System.out.println("err");

                    }else if ( ! "已完成".equals(orders[n-1][1])){

                        System.out.println("订单未完成,不能删除");

                        break;

                    }else{

                        boolean isDelete=false;

                        for (int i = n-1; i < orders.length; i++) {

                            if (i==orders.length-1){

                                orders[i]=null;

                                isDelete=true;          //

                            }else{

                                orders[i]=orders[i+1];   //前移

                                if (orders[i]==null){

                                    isDelete=true;

                                    break;

                                }

                            }

                        }

                    }

                    }while (n<1||n>e||"已完成".equals(orders[n][1]));

 

                    break;

//我要点赞----------------------------------------------------------------------------

                case 5:

                    System.out.println("***我要点赞***");

                    int hp=0;

 

                    System.out.println("请选择点赞菜品:");

                    hp=sc.nextInt();

                    if (hp<1||hp>dishes.length){

                        System.out.println("对不起,输入有误,请重新输入!");

                    }else{

                        hot[hp-1]++;

                    }

 

                    break;

//退出系统------------------------------------------------------------------------------------

                default:

                    System.out.println("6、退出系统");

 

            }

//switch结束--------------------------------------------------------------------------------------

            if (chose>0&&chose<6){

                System.out.println("输入0返回!");

                chose=sc.nextInt();

            }else {

                break;

            }

//-----------------------------------------------------------------------------

        }while (chose==0);

        System.out.println("输入0返回!");

    }

 

}

原文链接:https://blog.csdn.net/balalaxstar/article/details/112605303
相关文章
最新更新