我有一个程序,可以根据基本工资和佣金销售额计算员工的年薪。我想更进一步,创建一个数组列表,询问员工姓名,然后创建一个数组,存储程序中的值,并为输入的每个员工姓名打印出这些值。
我想我需要创建一个for或其他循环来收集数据。问题是我不知道在哪里做以及如何创建数组。我有两个类:
1类我的佣金变量和计算:
package Commissions;
public class Calculations {
double totalSales;
private double comRate = 0.025;
private double annualSal = 80000;
private double salesTarget = 120000;
private double acceleration = 0.015;
private double compensation;
public Calculations (double TotalSales) {
this.totalSales = totalSales;
}
public double getCommissionCalc () {
if (totalSales >= salesTarget) {
compensation = (annualSal + (totalSales * (comRate + acceleration)));
return compensation;
} else if (totalSales >= salesTarget * .8) {
compensation = (annualSal + (totalSales * comRate));
return compensation;
} else {
compensation = annualSal;
return compensation;
}
}
}
1个类,用于我的主要和用户输入
package Commissions;
import java.text.NumberFormat;
import java.util.*;
public class paycheck {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner (System.in);
NumberFormat nf = NumberFormat.getCurrencyInstance();
System.out.println("Enter the employee name: ");
long empName = input.nextLong();
mediaArray[empName];
System.out.println("Enter your total sales for the year: ");
double totalSales = input.nextDouble();
System.out.println("\r");
Calculations c = new Calculations (totalSales);
System.out.println("Your Total compensation with your annual sales is: " + nf.format(c.getCommissionCalc()));
System.out.println("\r");
System.out.println("If you were to increase your sales you could earn even more money!");
System.out.println("\r");
double i = totalSales + 5000;
double finish = totalSales * 1.5;
while (i <= finish) {
c.totalSales = i;
System.out.println("If you were to increase your sales commission to " + nf.format(i) + " you could earn: " + nf.format(c.getCommissionCalc()));
i = i + 5000;
}
}
}
这是根据我对你的问题的理解的代码,必须纠正一些事情,因为你说输入名称,但需要很长时间作为输入:
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Paycheck {
public static void main(String[] args) {
List<Employee> empList = new ArrayList<Employee>();
while (true) {
Scanner input = new Scanner(System.in);
NumberFormat nf = NumberFormat.getCurrencyInstance();
System.out.println("Enter the employee name (enter exit to exit): ");
String empName = input.nextLine();
// mediaArray[empName];
if(empName.equals("exit")) {
break;
}
System.out.println("Enter your total sales for the year: ");
double totalSales = input.nextDouble();
Calculations c = new Calculations(totalSales);
System.out
.println("Your Total compensation with your annual sales is: "
+ nf.format(c.getCommissionCalc()));
System.out.println("\r");
System.out
.println("If you were to increase your sales you could earn even more money!");
System.out.println("\r");
double i = totalSales + 5000;
double finish = totalSales * 1.5;
while (i <= finish) {
c.totalSales = i;
System.out
.println("If you were to increase your sales commission to "
+ nf.format(i)
+ " you could earn: "
+ nf.format(c.getCommissionCalc()));
i = i + 5000;
}
System.out.println("\r");
//store employee data into arraylist
empList.add(new Employee(empName, i));
}
for(Employee emp : empList) {
System.out.println("Employee Name: " + emp.getName() + " Total Sales: " + emp.getSales());
}
}
}
class Employee {
private String name;
private Double sales;
public Employee(String empName, double totalSales) {
this.name = empName;
this.sales = totalSales;
}
public Double getSales() {
return sales;
}
public void setSales(Double sales) {
this.sales = sales;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
被遗忘的姓名列表 看了一些从来没接触过吉里吉里的朋友使用NVL写的游戏,发觉这个功能竟然很少有人使用。 很多人会一次次地使用类似 【姓名栏】 名字=XXX 颜色=XXX 这样的指令来输入对话人的名字和对应的颜色。 这样做有什么错误呢,其实完全没错,就是……写上几百个难道不觉得烦么……= = 其实NVL提供了简化功能,那就是姓名编辑。 只要设置一次名字和颜色,之后就可以直接从下拉菜单里选择这个名字,
我有一个主类,一个DTO和一个DAO。我想做的是读取数据库表 CUSTOMER(两个字段名称,姓氏),然后将其写入 txt 文件。我似乎无法让它将值存储在 DTO 中,以便我的主类可以获取它。 我的DTO存在两个字段,名和姓,getters和setters。问题出在我的刀与列表上 *请记住我是一名学生。 这是我到目前为止所做的:结果,像这样写入文件:[姓名姓氏,姓名姓氏,]我需要它写入分隔的文件管
我正在努力将名字数组和姓氏数组交替连接在一起。我的代码如下。 创建两个数组,可以存储一个人的名字(在第一个数组中)和姓氏(在第二个数组中)。要求用户输入任何人的任意5个名字,然后再次要求用户输入他们各自的姓氏。现在,通过连接名字和姓氏来打印全名。示例-假设包含名字和姓氏的数组如下所示: FirstNameArray={"Tom","John"} secondNameArray={“Holland”
我的文本文件如下所示 我使用下面的代码片段将文本逐行存储在数组列表中,并将整个文件显示为输出。 但我只想显示三列TMAX,TMIN,DMAX。
问题内容: 我想要创建一个arraylist数组,如下所示: 但是它没有编译。我怎样才能做到这一点? 问题答案: 根据Oracle文档: “你不能创建参数化类型的数组” 相反,你可以执行以下操作: 正如汤姆·霍廷(Tom Hawting)的建议-定位线一样,最好这样做:
有没有一种方法可以将一组播放器存储在SQL数据库的一个列中? 我有一个events表,我想在表中名为的列下存储所有输入该事件的玩家。 进入者都将来自表。 我找到了set属性,但这看起来需要指定set可以包含的特定值。我现在知道这些,但在将来,表很可能会改变。 所以我想, 在表中添加一个列,名为,该列包含一组 该选项最初应为空,但当玩家进入该事件时,他们将被添加到集合中。 从Java方面来看,当我从