Я пытаюсь ввести элементы в массив с неизвестными значениями элементов или неизвестным количеством элементов
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();
}
Ожидаемые результаты должны быть суммой всех введенных чисел, но мой результат был их суммой, а затем удвоился.
Удаление javascript так как он не при чем (javascript это не java)




Проблема в том, что вы суммируете сумму дважды, один раз, когда перебираете продавцов:
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]; из второго цикла.
Во втором цикле 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);
Вы не сбрасываете
sum = 0перед вторым циклом for. (Или вам не нужно увеличивать сумму во втором цикле for).