挑战编程技能(第一章)
2018-01-19 01:20
176 查看
一个小费计算程序
以下要求:√表示已完成 x表示未完成★对于账单金额和小费比例,确保用户只能输入数值。如果用户输入的不是数值,则显示相应的提示信息并退出程序。(√)
★不再是显示错误消息并退出,而是在用户输入合法数值之前,一直提示输入。(√)
★不允许用户输入负值(√)
★将程序分解为做计算的函数(√)
★使用用户图形界面(GUI)实现这个程序。当有任何值变化时,自动在界面中更新这些值。(x)
★不再是让用户以百分比形式输入小费比例,而是让用户通过拖动一个滑动条表示对服务员的满意度,区间是5%~20%(x)
主函数:
import java.util.Scanner;
public class Calculate_tip {
public static void main(String[] args) {
// TODO Auto-generated method stub
tip customer=new tip();
Scanner scanner=new Scanner(System.in);
System.out.println("请输入账单金额:");
do { //判断输入的账单金额是否符合常理,不符合重新输入直到符合为止
boolean flag=false;
double total=scanner.nextDouble();
if(total>0) {
customer.set_total(total);
flag=true;
}
else
System.out.println("输入有误,请重新输入:");
if(flag)
break;
}while(true);
System.out.println("请输入顾客的小费比例,输入5-15中的百分数");
do { //判断客户的小费比例是否在5-15之间,不在重新输入
boolean flag=false;
double ratio=scanner.nextDouble();
ratio/=100;
if(ratio>=.05&&ratio<=.15) {
customer.set_ratio(ratio);;
flag=true;
}
else
System.out.println("输入有误,请重新输入:");
if(flag)
break;
}while(true);
scanner.close();
System.out.println("顾客应付小费:"+customer.return_tip()); //输出结果
System.out.println("顾客应付总额为:"+customer.return_Totalamount());
}
}类:
public class tip { private double total; //金额 private double tip; //小费 double ratio; //小费比例(5%-15% 4000 ) void set_ratio(double ratio) { this.ratio=ratio; } void set_total(double total) { this.total=total; } double return_tip() { tip=total*ratio; tip=this.point_double(tip); return tip; } double point_double(double num) //四舍五入保留小数点后俩位 { num*=1000; if(num/10>=5) return ((int)num/1000+.01); else return((int)num/1000); } double return_Totalamount() { return this.tip+this.total; } }
相关文章推荐
- 挑战编程技能之第一章练习
- 挑战编程技能之检查密码强度
- 挑战编程技能之验证输入
- javascript挑战编程技能-第一题:将问题转变成代码
- 挑战编程技能之密码生成器
- 第一章-并发编程的挑战
- javascript挑战编程技能-第八题:99乘法表
- javascript挑战编程技能-第二题:计算字符数
- javascript挑战编程技能-第六题:检查密码强度
- 挑战编程技能之字母异位词检查程序
- Java并发编程的艺术-第一章<并发编程的挑战>
- 并发编程的艺术笔记-(第一章)并发编程的挑战
- javascript挑战编程技能-第五题:函数作为javascript的一等公民
- 第一章 并发编程的挑战 总结
- 《Java并发编程的艺术》第一章——并发编程的挑战
- javascript挑战编程技能-第九题:数据结构
- javascript挑战编程技能-第三题:计算矩形房间面积
- javascript挑战编程技能-第七题:让代码做重复的事情
- 第一章 并发编程的挑战
- 《Java并发编程的艺术》--第一章--并发编程的挑战