为了账号安全,请及时绑定邮箱和手机立即绑定

向数组中输入元素

向数组中输入元素

隔江千里 2022-11-02 17:16:24
我正在尝试将元素输入到具有未知元素值或未知数量的元素的数组中public class Sales{  public void salesAmount()  {Scanner scan = new Scanner(System.in);int sum = 0; int salespeople = 0;    //Create printstatement to ask the user to ("enter the number of sales people");   System.out.println("Enter the number of sales people: ");   //store the response in salespeople   salespeople = scan.nextInt();    //Create an int array called sales that will have the number entered by user as the number of elements    int[] sales = new int[salespeople];    //create a for loop that will loop through the array sales.        for(int i = 0; i < salespeople; i++){     //Create print statement that says:  ("Enter sales for salesperson " + i + ": ");      System.out.println("Enter sales for salesperson " + i + ": ");      sales[i] = scan.nextInt();      //store response in sales[i]       sum = sum + sales[i];    }    System.out.println("Salesperson\tSales");    System.out.println("--------------------");    for (int i=0; i<sales.length; i++)    {       System.out.println(i + "\t" + sales[i]);       sum += sales[i];    }    System.out.println("\nTotal sales: " + sum);      }    }我将其全部打印在第二个文件上,代码如下:public static void main(String[]args){  Sales sales = new Sales();  sales.salesAmount();}预期的结果应该是所有输入数字的总和,但我的结果是它们的总和然后加倍。
查看完整描述

2 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

在您的第二个“for 循环”中,删除总和。您在 2 个循环中进行两次加法


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

    { 

      System.out.println(i + "\t" + sales[i]); 

      //sum += sales[i];

    }


    System.out.println("\nTotal sales: " + sum);


查看完整回答
反对 回复 2022-11-02
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

问题是您将总和两次相加,一次是在您遍历销售人员时:


sum = sum + sales[i];

然后在打印总销售额之前再次:


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

  System.out.println(i + "\t" + sales[i]); 

  sum += sales[i];

}

因此,您要么需要在第二个循环之前重置总和 - 即sum = 0;,要么从第二个循环中删除该行sum += sales[i];。


查看完整回答
反对 回复 2022-11-02
  • 2 回答
  • 0 关注
  • 77 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信