Java 我为这个计划写了一个程序,但我想知道这个程序有什么答案和我写的不同吗?
酒店的定价政策如下:Java 我为这个计划写了一个程序,但我想知道这个程序有什么答案和我写的不同吗?,java,Java,酒店的定价政策如下: 2人:80000 3人:90000 4人:95000 新增人数:6000人/人 如果客户继续从事公司业务,可享受20%的折扣 此外: 如果客户年龄超过60岁,可享受15%的折扣 客户不能同时享受这两种折扣 根据以上数据,写一个解决方案来计算房间的成本 import javax.swing.JOptionPane; 公共类新类{ 公共静态void main(字符串[]args){ String num=JOptionPane.showInputDialog(null,“输
- 2人:80000
- 3人:90000
- 4人:95000
- 新增人数:6000人/人
- 如果客户继续从事公司业务,可享受20%的折扣
import javax.swing.JOptionPane;
公共类新类{
公共静态void main(字符串[]args){
String num=JOptionPane.showInputDialog(null,“输入人数?”);
int number=Integer.parseInt(num);
String Inputage=JOptionPane.showInputDialog(null,“输入您的年龄?”);
int age=Integer.parseInt(Inputage);
String set=JOptionPane.showInputDialog(null,“您是否继续从事公司业务?回答,是或否!”);
字符串no=“no”;
如果(年龄<60岁且设置等于(否)){
开关(编号){
案例2:
showMessageDialog(null,“80000”);
打破
案例3:
showMessageDialog(null,“90000”);
打破
案例4:
showMessageDialog(null,“95000”);
打破
违约:
System.out.println(“错误”);
}
}
如果(年龄>=60&&set.equals(否)){
开关(编号){
案例2:
showMessageDialog(null,“68000”);
打破
案例3:
showMessageDialog(null,“76500”);
打破
案例4:
showMessageDialog(null,“80750”);
打破
违约:
System.out.println(“错误”);
}
}
String yes=“yes”;
如果(年龄<60岁且设置等于(是)){
开关(编号){
案例2:
showMessageDialog(null,“64000”);
打破
案例3:
showMessageDialog(null,“72000”);
打破
案例4:
showMessageDialog(null,“76000”);
打破
违约:
System.out.println(“错误”);
}
}
如果(年龄>=60&&set.equals(是)){
开关(编号){
案例2:
showMessageDialog(null,“您不能同时拥有这两个选项!”);
打破
违约:
System.out.println(“错误”);
}
}
}
}
可能的话,应该采用一种单独的方法来计算价格:
publicstaticintgetprice(intpeople、intage、boolean-onBusiness){
国际价格;
交换机(人){
案例1://假设价格与2人相同
案例2:
价格=80_000;中断;
案例3:
价格=90_000;中断;
案例4:
价格=95_000;中断;
违约:
价格=95欧元+6欧元*(4人);
打破
}
//仅应用一个折扣,首先检查较大的折扣是否适用
国际单项体育联合会(商务){
价格=价格/100*80;//折扣20%
}否则,如果(年龄>=60岁){
价格=价格/100*85;//折扣15%
}
退货价格;
}
如果使用Java 12+,则可以使用更简洁的switch
语法:
publicstaticintgetprice(intpeople、intage、boolean-onBusiness){
int价格=交换机(人){
案例1、2->80_000;
案例3->90_000;
案例4->95_000;
默认->95_000+6_000*(人员-4);
};
//仅应用一个折扣,首先检查较大的折扣是否适用
国际单项体育联合会(商务){
价格=价格/100*80;//折扣20%
}否则,如果(年龄>=60){//60岁或60岁以上人群的折扣
价格=价格/100*85;//折扣15%
}
退货价格;
}
这可能更适合。或者我写的对一个程序来说是正确的。这个程序可以有很多写的东西,但是如果你写的东西对你有用,那就好了。如果两种折扣都适用,选择哪种折扣,15%还是20%?如果有额外价格6000/人的规则,为什么显示数字>4的“错误”?在多个switch
语句中复制粘贴大量JOptionPane
看起来不太好,应该有一个单独的方法来定义价格,其结果应该根据需要显示(控制台,JOptionPane
等)