我正在尝试将元素输入到具有未知元素值或未知数量的元素的数组中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);

慕田峪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];。
添加回答
举报
0/150
提交
取消