Разделить целочисленные элементы в массиве

#java #arrays #math

#java #массивы #математика

Вопрос:

Как разделить все входные целые числа в массиве? У меня есть этот метод, называемый делением. Он получает только сумму целых чисел, которые я ввел. Как их разделить?

 public class Arithmetic {
public int division(int[] n) {
    int quotient = 0;
    for (int num : n) {
        quotient = quotient / num;
    }
    return sum;
}

public static void main(String[] args) throws IOException {

    Arithmetic a = new Arithmetic();
    Scanner sc = new Scanner(System.in);

    System.out.println("1: Division");
    System.out.print("Enter selection here: ");
    int choice = sc.nextInt();
    switch (choice) {
        case 1:
            System.out.print("Enter no. of elements you want in array: ");
            int numOfElements = sc.nextInt();
            System.out.println("Enter elements in the array ~ ");
            if (sc.hasNextInt()) {
                int arraysInput[] = new int[numOfElements];
                for (int i = 0; i < numOfElements; i  ) {
                    arraysInput[i] = sc.nextInt();
                }
                System.out.println("Quotient: "   a.division(arraysInput));
            }
    }
  }
}
  

Комментарии:

1. Чем вы хотите их разделить?

2. любое целое число, которое вводит пользователь. Он запрашивает количество элементов в массиве, а затем запрашивает элементы или промежуточные элементы, которые я хочу разделить, например. Пользователь вводит 3 элемента — 10 / 5 / 1 = 2

3. Также есть синтаксическая ошибка. Где объявлена переменная sum ? для оператора switch нет {}

4. Я забыл вставить некоторые из них, у меня просто возникли проблемы с моим циклом for в методе деления. О том, как вы делите числа, которые вводит пользователь..

5. Я добавил ответ ниже и отредактировал вопрос для вас, он скоро будет обновлен.

Ответ №1:

Вам нужно изменить свой метод деления следующим образом

 public int division(int[] n) {
    int quotient = n[0] ;
    for (int i = 1; i < n.length ; i  ) {
        quotient = quotient / n[i];
    }
    return quotient;
}
  

Весь класс выглядит как с некоторым тестовым кодом :

 public class Arithmetic {

    public int division(int[] n) {
        int quotient = n[0] ;
        for (int i = 1; i < n.length ; i  ) {
            quotient = quotient / n[i];
        }
        return quotient;
    }

    public static void main(String[] args) throws IOException {

        Arithmetic a = new Arithmetic();
        Scanner sc = new Scanner(System.in);

        
        // Test Division
        // System.out.println( "Divison of {10,5,1} : "   a.division(new int[]{10,5,1}));


        System.out.println("1: Division");
        System.out.print("Enter selection here: ");
        int choice = sc.nextInt();
        switch (choice) {
            case 1:
                System.out.print("Enter no. of elements you want in array: ");
                int numOfElements = sc.nextInt();
                System.out.println("Enter elements in the array ~ ");
                if (sc.hasNextInt()) {
                    int arraysInput[] = new int[numOfElements];
                    for (int i = 0; i < numOfElements; i  ) {
                        arraysInput[i] = sc.nextInt();
                    }
                    System.out.println("Quotient: "   a.division(arraysInput));
                }
        }
    }
}
  

Ответ №2:

Принятый ответ не будет работать. К сожалению, у меня недостаточно «репутации» для публикации комментариев.

для справки:

 public int division(int[] n) {
int quotient = n[0] ;
for (int i = 1; i < n.length ; i  ) {
    quotient = quotient / n[i];
}
return quotient;
  

}

  1. если массив значений пуст или равен нулю — генерируется исключение.
  2. если массив содержит ноль (исключение DivisionByZeroException)
  3. если массив имеет только одно значение, возвращаемое значение не является частным (если предположение не равно value/ 1?)
    • придирки… но разве возвращаемое значение не должно быть double или float?