Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我为这个计划写了一个程序,但我想知道这个程序有什么答案和我写的不同吗?_Java - Fatal编程技术网

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%的折扣
此外:

  • 如果客户年龄超过60岁,可享受15%的折扣
  • 客户不能同时享受这两种折扣
  • 根据以上数据,写一个解决方案来计算房间的成本
  • 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
    等)