一、题目
通过肯德基官网的信息模拟肯德基快餐店的收银系统。
二、实现功能
KFC系统介绍:
1.总共有三种单一食物和两种套餐供用户选择。
2.用户可以通过自己的会员号,查询相应的折扣,完成打折购买。
3.系统界面可视化。
打印订单有两种方式,一种通过界面进行打印并展示,一种打印到infor.txt文件中。
三、使用工具
Intellij开发和NetBeans界面设计。
四、文件结构

五、部分运行结果截图:






六、部分代码展示
用正则表达式判断Jspinner组件的内容是否正确:
- 正则表达式:
//定义输入规则 只能输入数字 且大于等于0
String Regex = "[0-9]\\d*";
- 判断部分代码:
if(!(choice_hanbao.matches(Regex))){
JOptionPane.showMessageDialog(this, "输入的字符有误(请键入正整数包括零)");
this.choiceHanbao.setValue(0);
this.choiceHanbao.requestFocus();
return;
}
运行界面居中显示:
//设置窗体居中
public static void setFrameCenter(JFrame jf){
/*
思路:
A:获取屏幕的宽和高
B:获取窗体的宽和高
C:((用屏幕的宽 - 窗体的宽)/2,(用屏幕的高 - 窗体的高)/2)卓伟窗体的新坐标
*/
//获取工具对象
Toolkit tk = Toolkit.getDefaultToolkit();
//获取屏幕的宽和高
Dimension d = tk.getScreenSize();
double srceenWidth = d.getWidth();
double srceenHeight = d.getHeight();
//获取窗体的宽和高
int frameWidth = jf.getWidth();
int frameHeight = jf.getHeight();
//获取新的宽和高
int width = (int)(srceenWidth - frameWidth)/2;
int height = (int)(srceenHeight - frameHeight)/2;
//设置窗体坐标
jf.setLocation(width,height);
}
七、总结
1.使用工具:
这次作业使用工具包括Intellij开发和NetBeans界面设计。
2.经验总结:
这次作业加深对正则表达式的使用和IO流的理解。及JFrame类的理解。
3.有关代码测试,可以去导入测试jar包,更方便代码测试。
本文介绍了使用Intellij和NetBeans设计的KFC收银系统,包含三种单一食物和两种套餐选择,支持会员折扣,实现了界面可视化,并可通过两种方式打印订单。





