#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;
}
- если массив значений пуст или равен нулю — генерируется исключение.
- если массив содержит ноль (исключение DivisionByZeroException)
- если массив имеет только одно значение, возвращаемое значение не является частным (если предположение не равно value/ 1?)
-
- придирки… но разве возвращаемое значение не должно быть double или float?