好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

java实现KFC点餐小程序

本文实例为大家分享了java实现kfc点餐系统的具体代码,供大家参考,具体内容如下

?

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

package kfc点餐系统;

//food 类

public class kfcfood {

 

  private string fname ;

  private int fnumb= 1 ;

  private float fprice;

 

  public kfcfood() {

  super ();

  }

 

  public kfcfood(string fname, int fnumb, float fprice) {

  super ();

  this .fname = fname;

  this .fnumb = fnumb;

  this .fprice = fprice;

  }

 

  public string getfname() {

  return fname;

  }

  public void setfname(string fname) {

  this .fname = fname;

  }

  public int getfnumb() {

  return fnumb;

  }

  public void setfnumb( int fnumb) {

  this .fnumb = fnumb;

  }

  public float getfprice() {

  return fprice*fnumb;

  }

  public void setfprice( float fprice) {

  this .fprice = fprice;

  }

  @override

  public string tostring() {

  return fname + " 价格 [" + fprice + "]" ;

  }

 

 

}

?

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

224

225

226

227

228

229

230

231

package kfc点餐系统;

/*

  * 1.正常餐品结算和找零。

2.基本套餐结算和找零。

3.使用优惠劵购买餐品结算和找零。

4.可在一定时间段参与店内活动(自行设计或参考官网信息)。

5.模拟打印小票的功能(写到文件中)。

  * */

/*@author:kxd

  * @date:2018.10.25

  *

  * 本人写这个小程序,第一创建kfcfood类属性有foodname foodprice foodnumb 和一些必要函数 这个类负责封装食物属性

  * demo1 是主程序 核心 是hashmap 集合,hashmap<kfcfood , string > 做购物车 添加食物 和遍历打印小票

  * 用字符输出流 很简洁的写法写入文本

  * bufferedwriter bw = new bufferedwriter(new outputstreamwriter(new fileoutputstream("out.txt",true)));//字符缓冲输出流

  *

  * */

 

import java.io.bufferedwriter;

import java.io.filenotfoundexception;

import java.io.fileoutputstream;

import java.io.ioexception;

import java.io.outputstreamwriter;

import java.util.date;

import java.util.hashmap;

import java.util.scanner;

import java.util.set;

 

public class demo1 {

 

 

  public static void main(string[] args) throws ioexception {

  kfcfood k1= new kfcfood( "全家桶" , 1 ,( float )( 79.9 ));

  kfcfood k2= new kfcfood( "奥尔良鸡腿堡" , 1 ,( float )( 19.9 ));

  kfcfood k3= new kfcfood( "热辣鸡腿堡" , 1 ,( float )( 18.9 ));

  kfcfood k4= new kfcfood( "帕尼尼早餐套餐" , 1 ,( float )( 29.9 ));

  kfcfood k5= new kfcfood( "可乐" , 1 ,( float )( 9.9 ));

  kfcfood k6= new kfcfood( "鸡米花" , 1 ,( float )( 9.9 ));

  kfcfood k7= new kfcfood( "薯条" , 1 ,( float )( 8.8 ));

  kfcfood k8= new kfcfood( "热辣鸡翅" , 1 ,( float )( 11.9 ));

  kfcfood k9= new kfcfood( "冰淇淋" , 1 ,( float )( 9.9 ));

 

 

 

 

  hashmap<kfcfood , string > hm= new hashmap<kfcfood , string >();

 

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

  system.out.println( "*********欢迎光临肯德基餐厅*************" );

  system.out.println( "  菜单   " );

  system.out.println( "1:" +k1.tostring());

  system.out.println( "2:" +k2.tostring());

  system.out.println( "3:" +k3.tostring());

  system.out.println( "4:" +k4.tostring());

  system.out.println( "5:" +k5.tostring());

  system.out.println( "6:" +k6.tostring());

  system.out.println( "7:" +k7.tostring());

  system.out.println( "8:" +k8.tostring());

  system.out.println( "9:" +k9.tostring());

  boolean z= true ; int count= 1 ; //计数器

  float total= 0 ;

  while (z) {

  system.out.println( "请点餐 :输入编号" );

  scanner sc = new scanner (system.in );

  int i = sc.nextint();

  switch (i) {

 

  case 1 :

  system.out.println(count+k1.getfname());

  system.out.println( "请输入数量:" );

  scanner sc1= new scanner (system.in );

  int n = sc1.nextint();

  k1.setfnumb(n); //输入数量

  total=total+k1.getfprice(); //计算入总价

 

  hm.put(k1, "数量:" +string.valueof( k1.getfnumb()) ); //添加进树

  break ;

  case 2 :

  system.out.println(count+k2.getfname());

  system.out.println( "请输入数量:" );

  scanner sc2= new scanner (system.in );

  int n2 = sc2.nextint();

  k2.setfnumb(n2);

 

  total=total+k2.getfprice(); //计算入总价

  hm.put(k2, "数量:" +string.valueof( k2.getfnumb()) ); //添加进树

  break ;

  case 3 :

  system.out.println(count+k3.getfname());

  system.out.println( "请输入数量:" );

  scanner sc3= new scanner (system.in );

  int n3 = sc3.nextint();

  k3.setfnumb(n3);

 

  total=total+k3.getfprice(); //计算入总价

  hm.put(k3, "数量:" +string.valueof( k3.getfnumb()) ); //添加进树

  break ;

  case 4 :

  system.out.println(count+k4.getfname());

  system.out.println( "请输入数量:" );

  scanner sc4= new scanner (system.in );

  int n4 = sc4.nextint();

  k4.setfnumb(n4);

 

  total=total+k4.getfprice(); //计算入总价

  hm.put(k4, "数量:" +string.valueof( k4.getfnumb()) ); //添加进树

  break ;

  case 5 :

  system.out.println(count+k5.getfname());

  system.out.println( "请输入数量:" );

  scanner sc5= new scanner (system.in );

  int n5 = sc5.nextint();

  k5.setfnumb(n5);

 

  total=total+k5.getfprice(); //计算入总价

  hm.put(k5, "数量:" +string.valueof( k5.getfnumb()) ); //添加进树

  break ;

  case 6 :

  system.out.println(count+k6.getfname());

  system.out.println( "请输入数量:" );

  scanner sc6= new scanner (system.in );

  int n6 = sc6.nextint();

  k6.setfnumb(n6);

 

  total=total+k6.getfprice(); //计算入总价

  hm.put(k6, "数量:" +string.valueof( k6.getfnumb()) ); //添加进树

  break ;

  case 7 :

  system.out.println(count+k7.getfname());

  system.out.println( "请输入数量:" );

  scanner sc7= new scanner (system.in );

  int n7 = sc7.nextint();

  k7.setfnumb(n7);

 

  total=total+k7.getfprice(); //计算入总价

  hm.put(k7, "数量:" +string.valueof( k7.getfnumb()) ); //添加进树

  break ;

  case 8 :

  system.out.println(count+k8.getfname());

  system.out.println( "请输入数量:" );

  scanner sc8= new scanner (system.in );

  int n8 = sc8.nextint();

  k8.setfnumb(n8);

 

  total=total+k8.getfprice(); //计算入总价

  hm.put(k8, "数量:" +string.valueof( k8.getfnumb()) ); //添加进树

  break ;

  case 9 :

  system.out.println(count+k9.getfname());

  system.out.println( "请输入数量:" );

  scanner sc9= new scanner (system.in );

  int n9 = sc9.nextint();

  k9.setfnumb(n9);

 

  total=total+k9.getfprice(); //计算入总价

  hm.put(k9, "数量:" +string.valueof( k9.getfnumb()) ); //添加进树

  break ;

 

 

  default :system.out.println( "请输入正确的号码!" );

  break ;

 

  }

  //遍历树

 

  set<kfcfood> ks1 = hm.keyset(); //遍历map

  for (kfcfood s2:ks1) {

  system.out.println( "(" +s2+ "," +hm.get(s2)+ ")" );

  }

 

  system.out.println( "1 继续点餐 2 重新点餐 3 结束点餐 " );

  scanner sca= new scanner (system.in );

  int n = sca.nextint();

  switch (n) {

  case 1 :

  count++;

  break ;

  case 2 :

  system.out.println( "重新点餐!" );

 

  hm.clear();

 

 

  break ;

 

  case 3 :

  system.out.println( "总价" +total);

  system.out.println( "结束点餐" );

  z= false ;

  break ;

  default :system.out.println( "请输入正确的号码!" );

  break ;

  }

 

 

}

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

  system.out.println( "*********欢迎光临肯德基餐厅*************" );

  system.out.println( "  您的菜单为!   " );

 

  //遍历树

 

  set<kfcfood> ks1 = hm.keyset(); //遍历map

  for (kfcfood s2:ks1) {

  system.out.println( " " +s2+ ", " +hm.get(s2)+ " " );

  }

  system.out.println( "总价" +total);

  system.out.println( "订单时间: " + new date());

  system.err.println( "  欢迎下次光临!" );

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

 

  bufferedwriter bw = new bufferedwriter( new outputstreamwriter( new fileoutputstream( "out.txt" ))); //字符缓冲输出流

  bw.write( "****************************************" );bw.newline();

  bw.write( "*********欢迎光临肯德基餐!*************" );bw.newline();

  bw.write( "  您的菜单为!   " );bw.newline();

  set<kfcfood> ks2 = hm.keyset(); //遍历map

  for (kfcfood s2:ks2) {

  // system.out.println(" "+s2+", "+hm.get(s2)+" ");

  bw.write(s2+ ", " +hm.get(s2));bw.newline();

  }

  //system.out.println("总价"+total);

 

  bw.write( "订单时间: " + new date());bw.newline();

  bw.write( "  欢迎下次光临!" );bw.newline();

  bw.write( "**********************************" );bw.newline();

  bw.flush();

  bw.close();

  }

 

 

}

运行结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

原文链接:https://blog.csdn.net/harvestUachieve/article/details/83422283

查看更多关于java实现KFC点餐小程序的详细内容...

  阅读:26次