#java #массивы
Пытаюсь получить сумму всех чисел Например: public static void testArray() { int myArray[] = {3,5,7,12}; for(int i=0; i=myArray.length-1){ i2=0; i2=0; } int sum=myArray[i]+myArray[i2]; System.out.println(sum); } } Да, да, я знаю, что этот код - кусок бреда, который даже близко не выполняет свою функцию, но я уже голову себе сломал и далеко я не математик (и не программист). Как же мне найти сумму чисел в массиве, при условии что длина массива может быть произвольной, а числа в нем разные, не имеющие какой либо последовательности?
Ответы
Ответ 1
Честно не понял вопроса. В начале говорится - пытаюсь получит сумму некоторых чисел... а что значит некоторых?? Если всех чисел, то это очень просто сделать public static void testArray() { int myArray[] = {3,5,7,12}; int sum=0; for(int i=0; iОтвет 2
В Java 8 можно в 1 строку с помощью stream int myArray[] = {3, 5, 7, 12}; int total = IntStream.of(myArray).sum(); аналогично можно использовать класс Arrays Arrays.stream(myArray).sum() Метод stream имеет перегрузки для примитивных типов и обобщенный вид, что подойдет для массивов других типов.Ответ 3
Существует несколько способов найти сумму элементов в массиве: Цикл с использование индексов int array[] = {3, 5, 7, 12}; int sum = 0; for (int i = 0; i < array.length; ++i) sum += array[i]; Цикл по элементам (for-each цикл) int array[] = {3, 5, 7, 12}; int sum = 0; for (int element : array) sum += element; Используя Java 8 Stream API (сначала с помощью метода Arrays::stream преобразовываем массив в поток целых чисел, затем получаем сумму этого потока методом Stream::sum) int array[] = {3, 5, 7, 12}; int sum = Arrays.stream(array).sum(); Онлайн примеры кода: Цикл по индексам Цикл for-each Java 8 Stream APIОтвет 4
public class test{ public static int [] myArray; public static void main(String []args){ int myArray[] = {3,5,7,12}; System.out.print(sum(myArray)); } public static int sum(int [] arr) { return sum(arr, 0, 0); } public static int sum(int [] arr, int sum, int count){ sum += arr[count]; if (count < arr.length -1) return sum(arr,sum,count+1); return sum; } }Ответ 5
считаем сумму двух чисел. если находится верни TRUE public class moed2AQuation2A2015 { public static void main (String args[]){ int arr[] = {-2,3,5,7,12}; System.out.println(sum2(arr, 19)); } public static boolean sum2(int [] arr, int num){ return sum2(arr, num, 0, arr.length - 1); } public static boolean sum2(int [] arr, int n,int first,int second){ int summa = arr[first] + arr[second]; if (summa == n) return true; if (second < first && first == second) return false; if (first < arr.length - 1 && second != first) return sum2(arr,n,first,second-1) || sum2(arr,n,first+1,second); else return false; } }Ответ 6
/** * calculate sum of the array */ public static void main(String []args){ int myArray[] = {3,5,7,12}; System.out.print(sum(myArray)); } public static int sum(int [] arr) { return sum(arr, arr.length-1); } public static int sum(int [] arr, int n){ if(n==0) return arr[0]; else return arr[n]+ sum(arr,n-1); }Ответ 7
for (int i = 0; i < arraySize; i++) { numbers[i] = numberOfArrayElements.nextInt(); sum = sum + numbers[i]; }Ответ 8
/** * Sum of all elements from 1 to 1000 */ final int sum = Stream.iterate(1, n -> n + 1).limit(1000).mapToInt(el -> el).sum();Ответ 9
Вот 3 способа, от самого примитивного, до нормального) сильно не критикуйте, сам только учусь) import java.util.Arrays; // сумма всех элементов массива, способ первый class Bla-Bla-Bla1 { public static void main(String[] args) { int[] nums = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int sum = 0; for (int i = 0; i < nums.length; i++) sum += nums[i]; System.out.println("1ый способ = " + sum); } } // сумма всех элементов массива, способ второй class Bla-Bla-Bla2 { public static void main(String[] args) { int[] nums = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int sum = 0; sum = Arrays.stream(nums).sum(); System.out.println("2ой способ = " + sum); } } // сумма всех элементов массива, способ третий: FOR-EACH class Bla-Bla-Bla3 { public static void main(String[] args) { int[] nums = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int sum = 0; for (int x : nums) sum += x; System.out.println("3ий способ = " + sum); } }
Комментариев нет:
Отправить комментарий