所以我的程序的目的是为 5 名销售人员创建一个数组。系统会提示用户输入每个人的总销售额。然后,我需要打印出总和、平均值、最低销售额和最高销售额。我可以获得平均值,即所有销售额的总和,并设法打印数组的最大值,但我需要它来说明,例如,销售人员 2 的销售额为 50,000 美元。我现在所拥有的是“50,000 人拥有 50,000 美元”(如果从那时起)。因此数组的值 3(销售人员 2,因为我没有包含销售人员 0)是 50,000。我的数组:
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
final int SALESPEOPLE = 6;
int[] sales = new int[SALESPEOPLE];
int sum;
for (int i = 1; i < sales.length; i++) {
System.out.print("Enter sales for salesperson " + i + ": ");
sales[i] = scan.nextInt();
}
}
并获取最大值
for (int i = 1; i < sales.length; i++) {
System.out.println(i + " \t" + sales[i]);
sum += sales[i];
}
System.out.println("The highest sale was");
int maxValue = getMaxValue(sales);
int maxValueName = getMaxValueName(sales);
System.out.println("Name: " + maxValueName + "Sale: " + maxValue);
System.out.println("The lowest sale was");
int minValue = getMinValue(sales);
System.out.println(minValue);
最大值
public static int getMaxValue(int[] array) {
int maxValue = array[1];
for (int i = 1; i < array.length; i++) {
if (array[i] > maxValue) {
maxValue = array[i];
}
}
return maxValue;
}
public static int getMaxValueName(int[] array) {
int maxValueName = array[1];
for (int i = 1; i < array.length; i++) {
if (array[i] > maxValueName) {
maxValueName = array[i];
}
}
return maxValueName;
}
最佳答案
您的销售队伍中有一定数量的人员。这些人中的每个人都有一个名字,并且也做出了一定的销售额(某种数字)。因此,在数组中仅存储一个数字是没有意义的。
定义一个对象类型,其中包含一个字符串(表示人名)和一个数字(表示销售量)。这就是您应该放入数组中的对象类型。用 Java 编写然后不使用任何带有面向对象设计暗示的东西是没有意义的。
请注意,一旦您拥有了这些对象的数组,如果您可以找到销售量最高的对象,那么您也就找到了具有您要打印的人员姓名的对象。现在问问自己为什么要编写两个单独的函数,每个函数都必须搜索数组才能找到该对象。
关于java - 需要打印出数组的最大值以及哪个索引包含最高值的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24916818/