对我的硬件问题的一部分感到困惑。看来这很容易,但是我不能指责它。我正在尝试以最大和最小销售额退还给销售人员。我对如何做到这一点感到困惑。帮助将不胜感激。

import java.util.Scanner;
public class Cray {
    public static void main(String[] args){

        final int SALESPEOPLE = 5;
        int[] sales = new int[SALESPEOPLE];
        int sum, maxperson, minperson;
        int max = sales[0];
        int min = sales[0];



        Scanner scan = new Scanner(System.in);
        //Fill the 5 element array of sales with the user's input
        for (int i=0; i<sales.length; i++)
            {
            System.out.print("Enter sales for salesperson " + i + ": ");
            sales[i] = scan.nextInt();
            //Calculate the max and min sales
            //How do I return the salesperson i with the the max and min sales?
            if(sales[i] > max){
                max= sales[i];
            }
            if(sales[i] < min){
                min = sales [i];
            }


            }



        System.out.println("\nSalesperson   Sales");
        System.out.println("--------------------");
        sum = 0;
        for (int i=0; i<sales.length; i++)
            {
            System.out.println("     " + i + "         " + sales[i]);
            sum += sales[i];
            }

        System.out.println("\nTotal sales: " + sum);
        System.out.println("Average sales: " + sum/5);
        //WHere I want to print the max salesperson.
        System.out.println("Salesperson" +  );

          }

        }

最佳答案

您可以存储索引计数
在开始扫描输入之前,声明并初始化两个int变量:

   int maxindex=Integer.MIN_VALUE,minindex=Integer.MIN_VALUE;


然后将数组索引分配给它们,如下所示:

   if(sales[i] > max){
       max= sales[i];
       maxindex = i;
   }
   if(sales[i] < min){
       min = sales [i];
       minindex = i;
   }


现在,您可以直接获得最高和最低销售额的销售员

  System.out.println("Max sales person "+sales[maxindex]);
  System.out.println("Min sales person "+sales[minindex]);


我在这里通过存储数组索引使用了一个非常简单的技巧。
尽管可能有更优化的方法,但这是非常基本的方法。

关于java - 如何在销售员计划中返回最大销售额的人-JAVA,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12990708/

10-13 03:47