【发布时间】:2013-06-20 21:24:11
【问题描述】:
我创建了两个数组。一个存储名称,一个存储销售。我正在尝试将每个索引链接在一起,以便名称数组中的索引 1 将显示销售数组的索引 1 的值。我试图让它整理销售数组并返回最大销售额和带来这些销售额的人。所有值均由用户输入,包括数组的大小。
import java.util.Scanner;
import java.util.Arrays;
public class EmpArray {
public static int employee(){
Scanner input = new Scanner(System.in);
int numemp;
System.out.println("Enter how many employees to be compared: \n");
numemp = input.nextInt();
String name[] = new String[numemp];
int annsales[] = new int[numemp];
int maxannsales;
for (int i = 0; i < name.length; i++) {
System.out.println("Enter your name: \n");
String employeename = input.next();
name[i] = employeename;
System.out.println("\n");
}
for (int j = 0; j < annsales.length; j++) {
System.out.println("Enter in your annual sales: \n");
int employeesales = input.nextInt();
annsales[j] = employeesales;
System.out.println("\n");
}
System.out.println("Employee Name: " + Arrays.toString(name));
System.out.println("Total Sales: " + Arrays.toString(annsales));
Arrays.sort(annsales);
//look at page 456 of starting out with java and page 460 of the same book, p.464
System.out.println("Top Salary is : $"+annsales[annsales.length-1]);
maxannsales = annsales[annsales.length-1];
return maxannsales;
}
}
我做错了什么我已经做了两个星期了。
【问题讨论】:
-
不要这样做;使用地图(即 java.util.HashMap。)
-
创建一个 Employee 类来保存员工的姓名和销售额。然后创建一个 Employee 对象的数组(或列表)。
-
用
name和annualSales字段创建一个实际的Employeeclass 怎么样?然后您可以创建一个Employee[](或List<Employee>)并使用自定义Comparator<Employee>对其进行排序。毕竟,Java 是一种面向对象的语言。 -
您有两个正确答案:您可以创建自己的课程或使用地图。这真的取决于你想要做什么。这些是您必须研究的非常简单的解决方案,两者都有无数示例。