Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java阵列帮助_Java - Fatal编程技术网

Java阵列帮助

Java阵列帮助,java,Java,我正在尝试编写一个程序,要求用户输入5人的销售额,它将显示最大值和最小值,并打印出销售人员id和最小值的金额,最大值和最小值销售人员3的销售额最高,为4500美元。在程序打印出最小值、最大值和平均值后,它会要求用户输入一个随机数,并将其与之前的数字进行比较,看看谁达到或超过了最大值,然后打印出那个人的id。我很难完成。有人能帮我看看吗?这就是我犯的错误 // **************************************************************** // S

我正在尝试编写一个程序,要求用户输入5人的销售额,它将显示最大值和最小值,并打印出销售人员id和最小值的金额,最大值和最小值销售人员3的销售额最高,为4500美元。在程序打印出最小值、最大值和平均值后,它会要求用户输入一个随机数,并将其与之前的数字进行比较,看看谁达到或超过了最大值,然后打印出那个人的id。我很难完成。有人能帮我看看吗?这就是我犯的错误

// ****************************************************************
// Sales.java
//
// Reads in and stores sales for each of 5 salespeople.  Displays
// sales entered by salesperson id and total sales for all salespeople.
//
// ****************************************************************
import java.util.Scanner;

public class Sales
{
    public static void main(String[] args)
    {
    final int SALESPEOPLE = 5;
    int[] sales = new int[SALESPEOPLE];
    int sum;
    int average;
    int max=sales[0];
    int min=sales[0];
    int salemade;
    Scanner scan = new Scanner(System.in);

    for (int i=0; i<sales.length; i++)
        {
        System.out.print("Enter sales for salesperson " + (i+1) + ": ");
        sales[i] = scan.nextInt();
        }
    // Find maximum and minimum sale value   
    for (int i=0; i<sales.length; i++)

        if(sales[i]>max)
        max=sales[i];
        System.out.println("Salesperson "+sale[i]+ "has the max sale of $ " + max);  
        if(sales[i]<min)
        min=sales[i];
    System.out.println("Salesperson "+sale[i]+ "has the min sale of $ "+min);
// List of sales
    System.out.println("\nSalesperson   Sales");
    System.out.println("--------------------");
    sum = 0;


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

        average= sum/5;
    System.out.println("\nTotal sales: " + sum);
    System.out.println("The average sale is:$ "+average);

    //See who exeeded the max sale
    System.out.println("Enter the amount of sale made");
    salemade=scan.nextInt();

    for(int i=0; i=sales.length; i++)
        {
        if(sales[i]>=salemade)
        System.out.println(sales[i]);
        }

    }
}
您将数组定义为sales,但尝试将其引用为sale


您将数组定义为sales,但随后尝试将其引用为sale。

编译错误是因为您在打印语句中将sales[]与sale[]拼写错误。

编译错误是因为您在打印语句中将sales[]与sale[]拼写错误。

第33行:没有名为sale的数组;您的数组称为sales

第33行,第34行:此时变量i超出范围。您可能应该在if语句和for循环中使用括号。Java允许您在没有括号的情况下执行if,但是如果范围不清楚,它可能会混淆编译器


在调试编译问题时,您应该阅读输出并查看哪些行号导致了问题。如果编译器找不到符号,则可能意味着您的引用超出范围或不在范围内,例如拼写错误。

第33行:没有名为sale的数组;您的数组称为sales

第33行,第34行:此时变量i超出范围。您可能应该在if语句和for循环中使用括号。Java允许您在没有括号的情况下执行if,但是如果范围不清楚,它可能会混淆编译器


在调试编译问题时,您应该阅读输出并查看哪些行号导致了问题。如果编译器找不到符号,则可能意味着您的引用超出范围或不在范围内,例如拼写错误。

首先,您忘记了行中的大括号

int[] sales = new int[SALESPEOPLE];
...
System.out.println("Salesperson "+sale[i]+ "has the max sale of $ " + max);  
你需要比较,而不是分配


首先,你把大括号忘在队伍里了

int[] sales = new int[SALESPEOPLE];
...
System.out.println("Salesperson "+sale[i]+ "has the max sale of $ " + max);  
你需要比较,而不是分配


您还需要将上一个for循环修复为以下内容:

for(int i=0; i==sales.length; i++)

您还需要将上一个for循环修复为以下内容:

for(int i=0; i==sales.length; i++)
尝试使用以下代码:

for(int i=0; i<sales.length; i++)
    {
       if(sales[i]>=salemade)
       System.out.println(sales[i]);
    }
尝试使用以下代码:

for(int i=0; i<sales.length; i++)
    {
       if(sales[i]>=salemade)
       System.out.println(sales[i]);
    }

变量名中缺少一个s。它是销售而不是销售。除此之外,您可能还需要进行无数次重构。您在变量名中遗漏了一个s。它是销售而不是销售。除此之外,你可能需要做无数次重构。哦,对了,但即使我纠正了它,它仍然会给我一个销售错误[i]没有发现哦,对了,但即使我纠正了它,它仍然会给我一个销售错误[i]没有发现哦,对了,但即使我纠正了它,它仍然会给我一个销售错误[i]没有发现确保你写的是销售,而不是销售。Java关心这个案例。我明白了,还有一个问题,我如何让它打印出数组索引号,假设我为索引1输入10,我如何让它打印销售人员1的最大销售额为10美元,而它打印销售人员10的最大销售额为10美元。这行代码不适用于我想做的事情System.out.PrintLnSealerson+Sale[I]+最大销售额为$+max@Tuan:System.out.printlnSalesperson+i+的最大销售额为$+max@团谷妍:根据这个描述,你只想打印索引i而不是销售[i]。请注意,索引是基于0的,因此对于用户来说,他们可能希望第一个销售人员是1号。哦,是的,但即使我更正了它,它仍然会给我一个销售错误[i]未找到请确保您编写的是销售,而不是销售。Java关心这个案例。我明白了,还有一个问题,我如何让它打印出数组索引号,假设我为索引1输入10,我如何让它打印销售人员1的最大销售额为10美元,而它打印销售人员10的最大销售额为10美元。这行代码不适用于我想做的事情System.out.PrintLnSealerson+Sale[I]+最大销售额为$+max@Tuan:System.out.printlnSalesperson+i+的最大销售额为$+max@团谷妍:根据这个描述,你只想打印索引i而不是销售[i]。请注意,索引是基于0的,因此对于用户来说,他们可能希望第一个销售人员是1号。我尝试了这一点,但没有打印出销售最大的人员和销售最小的人员,而是输出{销售员10最大销售额为10美元销售员10最小销售额为0美元销售员20最大销售额为20美元销售员20最小销售额为0美元销售员30最大销售额为30美元销售员30最小销售额为0美元销售员40最大销售额为40美元销售员40最小销售额为0美元销售员50最大销售额为50美元}还有,它如何让它打印数组索引,假设索引1=10,那么它将打印Sa
leperson 1 sale$10我无法使用该行系统打印索引号。out.printlnSalesperson+sales[I]+的最大销售额为$+max;我试过了,但是没有打印出最大销售额的人和最小销售额的人,而是输出{销售员10最大销售额为10美元销售员10最小销售额为0美元销售员20最大销售额为20美元销售员20最小销售额为0美元销售员30最大销售额为30美元销售员30最小销售额为0美元销售员40最大销售额为40美元销售员40最小销售额为0美元销售员50最大销售额为50美元}还有,如何让它打印数组索引,假设索引1=10,那么它将打印Saleperson 1 sale$10我无法让它用这行系统打印索引号。out.printlnSalesperson+sales[I]+的最大销售额为$+max;当我为for循环放入括号时,输出是{销售员10最大销售额为10美元销售员10最小销售额为0美元销售员20最大销售额为20美元销售员20最小销售额为0美元销售员30最大销售额为30美元销售员30最小销售额为0美元销售员40最大销售额为40美元销售员40最小销售额为0美元销售员50最大销售额为50美元}是的,这就是我一直想做的事情。谢谢!!TUN好。请考虑一下帮助回答的问题,因为很多人都回答了修正:嗯,问题……当打印最小值时,零总是打印而不是min,不管我输入什么值,最大值是正确的,但min总是打印零。问题是定义int min=sales[0];。将其移动到第一个for循环之后。现在将其定义为零,这样它将永远找不到任何其他最小值。当我为for循环放括号时,不是只打印最小值和最大值,而是输出{销售员10最大销售额为10美元销售员10最小销售额为0美元销售员20最大销售额为20美元销售员20最小销售额为0美元销售员30最大销售额为30美元销售员30最小销售额为0美元销售员40最大销售额为40美元销售员40最小销售额为0美元销售员50最大销售额为50美元}是的,这就是我一直想做的事情。谢谢!!TUN好。请考虑一下帮助回答的问题,因为很多人都回答了修正:嗯,问题……当打印最小值时,零总是打印而不是min,不管我输入什么值,最大值是正确的,但min总是打印零。问题是定义int min=sales[0];。将其移动到第一个for循环之后。现在将其定义为零,这样它就不会找到任何其他最小值。
for(int i=0; i<sales.length; i++)
    {
       if(sales[i]>=salemade)
       System.out.println(sales[i]);
    }
// ****************************************************************
// Sales.java
//
// Reads in and stores sales for each of 5 salespeople.  Displays
// sales entered by salesperson id and total sales for all salespeople.
//
// ****************************************************************
import java.util.Scanner;

public class Sales {
    public static void main(String[] args) {
        final int SALESPEOPLE = 5;
        int[] sales = new int[SALESPEOPLE];
        int sum;
        int average;
        int max = sales[0];
        int min = sales[0];
        int salemade;
        Scanner scan = new Scanner(System.in);

        for (int i = 0; i < sales.length; i++) {
            System.out.print("Enter sales for salesperson " + (i + 1) + ": ");
            sales[i] = scan.nextInt();
        }
        // Find maximum and minimum sale value
        for (int i = 0; i < sales.length; i++) {
            if (sales[i] > max)
                max = sales[i];
            System.out.println("Salesperson " + sales[i]
                    + "has the max sale of $ " + max);
            if (sales[i] < min)
                min = sales[i];

            System.out.println("Salesperson " + sales[i]
                    + "has the min sale of $ " + min);
        }
        // List of sales
        System.out.println("\nSalesperson   Sales");
        System.out.println("--------------------");
        sum = 0;

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

        average = sum / 5;
        System.out.println("\nTotal sales: " + sum);
        System.out.println("The average sale is:$ " + average);

        // See who exeeded the max sale
        System.out.println("Enter the amount of sale made");
        salemade = scan.nextInt();

        for (int i = 0; i < sales.length; i++) {
            if (sales[i] >= salemade)
                System.out.println(sales[i]);
        }

    }
}