当前位置: 首页 > 知识库问答 >
问题:

Java任务的一部分卡住了

松雅健
2023-03-14

这是我的任务:

使用 Java™ NetBeans™ IDE 修改第二周的 Java™ 应用程序,以满足这些额外和更改的业务需求:
- 该公司最近更改了其年度总薪酬政策以提高销售额
。 - 销售人员将继续获得 75,000 美元的固定工资。每个销售人员的当前销售目标是 140,000 美元。
- 只有当达到80%的销售目标时,销售激励才会开始。目前的佣金是总销售额的25%。
- 如果销售人员超过销售目标,佣金将根据加速系数增加。加速度因子为 1.25。
- 应用程序应要求用户输入年销售额,并应显示年度薪酬总额。
- 应用程序还应显示销售人员可能获得的潜在年度总薪酬的表格,以高于销售人员年销售额 5000 美元的增量,直到达到销售人员年销售额的 50%。

一切正常,我唯一坚持的是让表格达到销售人员年销售额的50%。例如,如果总销售额为100,000美元,表格将显示总销售额和薪酬,直到150,000美元

这是源代码

DriverCalculator.java

import java.util.Scanner;


public class DriverCalculator {
    public static void main(String args[]){
        double annualSales;
        SalesPerson person;
        Scanner input=new Scanner(System.in);
        System.out.print("Please enter your total sales for the year: ");
        annualSales=input.nextDouble();
        person=new SalesPerson(annualSales);
        System.out.println(" Your total compensation for the year: $"+String.format("%.2f", person.getTotalAnnualCompensation()));

        System.out.println("Total Sales              Total Compensation");
        annualSales= annualSales;
        for(int i=0;i<11;i++){
            person=new SalesPerson(annualSales);
             System.out.println("$"+ annualSales+"                "+"$"+String.format("%.2f", person.getTotalAnnualCompensation()));
            annualSales+=5000;
        }
    }
}

销售人员.java

public class SalesPerson {
// create variable (fixedSalary)
 double fixedSalary;
 // variable of the value of sale person's annual sales
 double  annualSales;
 //commission that is earned
 double commission;
 //The target for sales that must be reached by sales person
 double target;
 public SalesPerson(double annualSales){
     this.annualSales=annualSales;
     target=140000;
     commission=0;
     if(annualSales>target*0.8){
        if(annualSales<target)commission=0.25*annualSales;//The current commission 25% of total sales.
        else commission=0.25*1.25*annualSales;//The current commission (0.25*1.25)% of total sales.
     }
     fixedSalary=75000;// set fixed salary is 75000$
 }
 public double getTotalAnnualCompensation(){// calculate The total annual compensation is the fixed salary plus the commission earned
     return fixedSalary+commission;
 }
}

共有1个答案

夏弘文
2023-03-14

您需要动态计算“i”的上限,而不是硬编码。我想

annualSales= annualSales;
int upperlimit = (annualSales/2)/5000;
    for(int i=0;i<=upperlimit;i++){
        person=new SalesPerson(annualSales);
         System.out.println("$"+ annualSales+"                "+"$"+String.format("%.2f", person.getTotalAnnualCompensation()));
        annualSales+=5000;
      }
 类似资料:
  • 这是我的扑动医生总结 flutter doctor doctor摘要(要查看所有详细信息,请运行flutter Doctor-v):[√]flutter(通道稳定,1.22.3,Microsoft Windows[版本10.0.19041.572],区域设置en-KE)[√]Android toolchain-为Android设备开发(Android SDK版本30.0.2)[!]Android

  • 我正在开发一个现有的Spring集成代码,该代码被卡住了。 代码: 在网上做了一些搜索之后,下面是我对代码的理解。如果我错了,请纠正我: 拆分器输出通道是容量为25的队列通道,这意味着它将从查询中获取一批25条记录。 现在,service activator中编写的代码将每100毫秒轮询一次,并从队列通道中获取25条消息。Service Activator与task executor一起在多线程环

  • 前面已经介绍了必要的基础知识, 手册的这一部分将讨论 FreeBSD 的一些最常用的功能。 这些章节包括: 向您介绍流行和实用的桌面应用程序: 浏览器、产品工具、文档察看程序,等等。 向您介绍一系列可以在 FreeBSD 上使用的多媒体工具。 介绍联编定制的 FreeBSD 内核以启用附加功能的方法。 详细介绍包括桌面和网络打印机在内的打印系统设置。 向您展示如何在 FreeBSD 上运行 Lin

  • 当我通过卡布局切换到另一个JPanel时,我遇到了一个卡住的精灵的问题。 现在..从屏幕切换的角度来看,一切都正常..但我的播放器精灵在切换后会卡在屏幕上,但在初始加载时,我可以用箭头键移动精灵。我不确定在新的视图上忽略播放器是否是罪魁祸首..但是我有一种感觉..想不出我做错了什么.. 玩家是这样的: 导入导入 java.awt.Rectangle;import java.awt.event.Ke

  • 问题内容: 我正在尝试使用标准方式使用jdbc连接到Informix数据库服务器: 但是它一直尝试连接并且不会抛出错误消息(我想它尝试连接是因为它什么都不显示)。我正在使用IBM Informix驱动程序4.10.00.1534和Java 1.7。到目前为止,我一直使用这种方法连接到Informix服务器,实际上,只有一台服务器失败。我可以使用odbc通过Informix客户端连接到该服务器,但是

  • 在这种方法中,它会提示用户输入其保险房屋的价值。由于某种原因,当用户输入时,它会被卡住 这里是validateNumber() 当提示出现“请输入您房屋的保险价值”时,它将接受输入并继续。现在,它被卡住了