java将元素输入数组
我试图在数组中输入元素,元素值未知或元素数量未知
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();
}
预期结果应该是所有输入数字的总和,但我的结果是它们的总和,然后是两倍
# 1 楼答案
问题是,你把总数加了两次,当你在销售人员中循环时加了一次:
然后在打印总销售额之前:
因此,要么需要在第二个循环之前重置总和,即
sum = 0;
,要么从第二个循环中删除sum += sales[i];
行# 2 楼答案
在第二个“for循环”中,删除总和。你在两个循环中做两次加法