- Как вы находите сумму всех чисел в массиве в Java?
- ОТВЕТЫ
- Ответ 1
- Ответ 2
- Ответ 3
- Ответ 4
- Ответ 5
- Ответ 6
- Ответ 7
- Ответ 8
- Ответ 9
- Ответ 10
- Ответ 11
- Ответ 12
- Ответ 13
- Ответ 14
- Ответ 15
- Ответ 16
- Ответ 17
- Ответ 18
- Ответ 19
- Ответ 20
- Ответ 21
- Ответ 22
- Ответ 23
- Ответ 24
- Ответ 25
- Ответ 26
- Java считать сумму чисел
- Learn Latest Tutorials
- Preparation
- Trending Technologies
- B.Tech / MCA
- Javatpoint Services
- Training For College Campus
- P0huber / SummingJunction.java
- Как найти сумму цифр числа java
- Подсчитать сумму цифр в целом числе
Как вы находите сумму всех чисел в массиве в Java?
У меня возникла проблема с поиском суммы всех целых чисел в массиве в Java. Я не могу найти полезный метод в классе Math для этого.
ОТВЕТЫ
Ответ 1
В java-8 вы можете использовать потоки:
int[] a = ; int sum = IntStream.of(a).sum(); System.out.println("The sum is " + sum);
Это в упаковке java.util.stream
Ответ 2
Если вы используете Java 8, класс Arrays предоставляет метод stream(int[] array) , который возвращает последовательный IntStream с указанным int массив. Он также был перегружен для массивов double и long .
int [] arr = ; int sum = Arrays.stream(arr).sum(); //prints 10
Он также предоставляет метод stream(int[] array, int startInclusive, int endExclusive) , который позволяет вам взять указанный диапазон массива (что может быть полезно):
int sum = Arrays.stream(new int [], 0, 2).sum(); //prints 3
Наконец, он может принимать массив типа T . Таким образом, вы можете, например, иметь String , который содержит числа в качестве входных данных, и если вы хотите их суммировать, просто сделайте:
int sum = Arrays.stream("1 2 3 4".split("\\s+")).mapToInt(Integer::parseInt).sum();
Ответ 3
Это одна из тех простых вещей, которая не существует (AFAIK) в стандартном Java API. Достаточно легко написать свой собственный.
Другие ответы прекрасно, но здесь один с некоторыми для каждого синтаксического сахара.
int someArray[] = ; int sum = 0; for (int i : someArray) sum += i;
Кроме того, пример суммирования массива — это показанный в спецификации языка Java 7. Пример: Раздел 10.4 — Доступ к массиву.
Ответ 4
Вы не можете. У других языков есть несколько методов для этого, например array_sum() в PHP, но Java нет.
int[] numbers = ; int sum = 0; for( int i : numbers) < sum += i; >System.out.println(sum);
Ответ 5
В Apache Math: есть StatUtils.sum(double[] arr)
Ответ 6
Единственное, что я хотел бы добавить к предыдущим решениям, это то, что я бы использовал длинный, чтобы накопить общее количество, чтобы избежать переполнения значения.
int[] someArray = ; long sum = 0; for (int i : someArray) sum += i;
Ответ 7
int sum = 0; for (int i = 0; i
Ответ 8
int[] array = new int[]; int sum = IntStream.of(array).reduce( 0,(a, b) -> a + b); System.out.println("The summation of array is " + sum); System.out.println("Another way to find summation :" + IntStream.of(array).sum());
The summation of array is 15 Another way to find summation :15
В Java 8 вы можете использовать концепцию сокращения, чтобы выполнить добавление.
Ответ 9
IMHO функция sum будет казаться хорошей возможностью расширить класс Arrays, где заполняются, сортируются, просматриваются, копируются и равны в реальном времени. В javadocs есть много удобных методов, поэтому справедливый вопрос при переносе Fortran в java, чтобы спросить, прежде чем запускать наш собственный вспомогательный метод. Просматривайте огромный индекс javadoc для «sum», «add» и любого другого ключевого слова, о котором вы могли бы подумать. Возможно, вы подозреваете, что кто-то уже сделал это для примитивных типов int, float, double, Integer, Float, Double? Независимо от того, насколько просто, всегда хорошо проверять. Держите код как можно более простым и не изобретайте велосипед.
Ответ 10
int sum = 0; for (int i = 0; i
Ответ 11
Мне нравится этот метод лично. Мой стиль кода немного странный.
public static int sumOf(int. integers)
Довольно проста в использовании в коде:
int[] numbers = < 1, 2, 3, 4, 5 >; sumOf(1); sumOf(1, 2, 3); sumOf(numbers);
Ответ 12
public static long sum(int[] i_arr)
Ответ 13
Вам нужно сворачивать самостоятельно.
Вы начинаете с общего количества 0. Затем вы учитываете для каждого целого числа в массиве, добавляете его к сумме. Тогда, когда вы находитесь вне целых чисел, у вас есть сумма.
Если не было целых чисел, то сумма равна 0.
Ответ 14
Из этого упражнения можно извлечь две вещи:
Вам нужно как-то перебирать элементы массива — вы можете сделать это с циклом for или while. Вам нужно сохранить результат суммирования в аккумуляторе. Для этого вам нужно создать переменную.
int accumulator = 0; for(int i = 0; i
Ответ 15
Вы можете сделать код более удобным:
public void someMethod() < Listnumbers = new ArrayList(); numbers.addAll(db.findNumbers()); . System.out.println("Result is " + sumOfNumbers(numbers)); > private int sumOfNumbers(List numbers) < int sum = 0; for (Integer i : numbers)< sum += i; >return sum; >
Ответ 16
define a sum variable = 0 for each number in array: sum = sum + number
Ответ 17
В библиотеке underscore-java есть метод sum().
import com.github.underscore.lodash.U; public class Main < public static void main(String[] args) < int sum = U.sum(java.util.Arrays.asList(1, 2, 3, 4)); System.out.println(sum); // ->10 > >
Ответ 18
Для такой вещи нет «метода в математическом классе». Его не похоже на его функцию квадратного корня или что-то в этом роде.
Вам просто нужно иметь переменную для суммы и цикла через массив, добавляя каждое значение, которое вы найдете в сумме.
Ответ 19
class Addition < public static void main() < int arr[]=; //Declaration and Initialization of an Array int sum=0; //To find the sum of array elements for(int i:arr) < sum += i; >System.out.println("The sum is :"+sum);//To display the sum > >
Ответ 20
Мы можем использовать определенную пользователем функцию. Сначала инициализировать переменную суммы, равную нулю. Затем пересечь массив и добавить элемент с суммой. Затем обновите переменную суммы.
import java.util.*; import java.lang.*; import java.io.*; class Sum < public static int sum(int arr[]) < int sum=0; for(int i=0; ireturn sum; > public static void main (String[] args) < int arr[] = ; int total = sum(arr); System.out.printf("%d", total); > >
Ответ 21
Используйте приведенную ниже логику:
Ответ 22
/** * Sum of all elements from 1 to 1000 */ final int sum = Stream.iterate(1, n -> n + 1).limit(1000).mapToInt(el -> el).sum();
Ответ 23
Немного удивлен, увидев, что ни один из приведенных выше ответов не считает, что это может быть в несколько раз быстрее при использовании пула потоков. Здесь parallel использует пул потоков fork-join и автоматически разбивает поток на несколько частей и запускает их параллельно, а затем объединяет. Если вы просто помните следующую строку кода, вы можете использовать ее во многих местах.
Таким образом, награда за самый быстрый короткий и сладкий код достается —
int[] nums = ; int sum = Arrays.stream(nums).parallel().reduce(0, (a,b)-> a+b);
Допустим, вы хотите сделать sum of squares , затем Arrays.stream(nums).parallel(). map (x-> x * x).reduce(0, (a, b) → a + b). Идея в том, что вы все еще можете выполнить уменьшение без карты.
Ответ 24
public class Num1 < public static void main () < //Declaration and Initialization int a[]=//To find the sum of array elements int sum=0; for(int i=0;i //To display the sum System.out.println("The sum is :"+sum); > >
Ответ 25
public class AddDemo < public static void main(String[] args) < ArrayList A = new ArrayList(); Scanner S = new Scanner(System.in); System.out.println("Enter the Numbers: "); for(int i=0; i System.out.println("You have entered: "+A); int Sum = 0; for(int i=0; i System.out.println("The Sum of Entered List is: "+Sum); > >
Ответ 26
В соответствии с Java 8 стало доступно использование лямбда-выражений.
int sum = 0; Arrays.asList(nums).stream().forEach(each -> < sum += each; >);
int sum = 0; ArrayList list = new ArrayList(); for (int each : nums) < //refer back to original array list.add(each); //there are faster operations… >list.stream().forEach(each -> < sum += each; >);
Java считать сумму чисел
Learn Latest Tutorials
Preparation
Trending Technologies
B.Tech / MCA
Javatpoint Services
JavaTpoint offers too many high quality services. Mail us on h[email protected], to get more information about given services.
- Website Designing
- Website Development
- Java Development
- PHP Development
- WordPress
- Graphic Designing
- Logo
- Digital Marketing
- On Page and Off Page SEO
- PPC
- Content Development
- Corporate Training
- Classroom and Online Training
- Data Entry
Training For College Campus
JavaTpoint offers college campus training on Core Java, Advance Java, .Net, Android, Hadoop, PHP, Web Technology and Python. Please mail your requirement at [email protected].
Duration: 1 week to 2 week
Like/Subscribe us for latest updates or newsletter
P0huber / SummingJunction.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
package com . javarush . task . task04 . task0442 ; |
/* |
Суммирование. Summing junction. |
*/ |
import java . io .*; |
public class SummingJunction |
public static void main ( String [] args ) throws Exception |
BufferedReader r = new BufferedReader ( new InputStreamReader ( System . in )); |
int a = Integer . parseInt ( r . readLine ()), k = 0 ; |
while ( a != — 1 ) |
k += a ; //the calculation of every cycle |
a = Integer . parseInt ( r . readLine ()); |
> |
System . out . println ( k — 1 ); //printing the sum all digits — 1 |
> |
> |
/*Суммирование |
Вводить с клавиатуры числа и считать их сумму. |
Если пользователь ввел -1, вывести на экран сумму и завершить программу. |
-1 должно учитываться в сумме. |
Требования: |
1. Программа должна считывать числа c клавиатуры. |
2. Программа должна выводить число на экран. |
3. Программа должна посчитать сумму введенных чисел. Если пользователь ввел -1, |
вывести на экран сумму и завершить программу. |
4. В программе должен использоваться цикл for или цикл while.*/ |
Как найти сумму цифр числа java
Сумму цифр числа можно найти, суммируя остаток от деления на 10 :
public class App public static void main(String[] args) System.out.println(sumOfDigits(123)); // => 6 > public static int sumOfDigits(int number) number = Math.abs(number); int sum = 0; while (number > 0) sum += number % 10; number /= 10; > return sum; > >
Подсчитать сумму цифр в целом числе
Рекурсия, подсчитать количество цифр в заданном целом числе
Подсчитать количество цифр в заданном целом числе n
Подсчитать количество цифр в заданном натуральном числе и найдите сумму цифр заданного натурального числа
Подсчитать количество цифр в заданном натуральном числе и найдите сумму цифр заданного натурального.
Подсчитать количество цифр в заданном числе n, сумму цифр числа n, и выяснить, входит ли цифра 3 в его запись
Задано натуральное число n. Составить программу, которая подсчитывает количество цифр в числе n.
1 2 3 4 5 6 7 8 9 10 11 12
public class B{ public static void main (String[] args){ String s="1234"; String[] a = s.split(""); int m=0; for(int i=1;ia.length;i++){ m+=Integer.parseInt(a[i]); } System.out.println(m+""); } }
1 2 3 4 5 6 7 8 9 10 11 12
public class demo { public static void main(String[] args) { int k = 12345; int x =k; int s = 0; while (x != 0 ){ s +=x%10; x /=10; } System.out.println("Сумма цифр в числе " + k + " = " + s); } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
import java.util.Scanner; class DigitsCounter { private static int digitsCount(int n) { return ( n 0 ) ? digitsCount(-n) : ( n == 0 ) ? 1 : (int)Math.log10(n) + 1; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); while ( true ) { System.out.print("Number: "); if ( ! sc.hasNextInt() ) break; int n = sc.nextInt(); System.out.println(digitsCount(n) + " digits"); } } }
Сообщение от easybudda
оригинальный способ, я обычно в строку и ее длину 🙂
turbanoff, а как Вы себе это число представляете положительным 32-битным целым? Да и выпендрёжные варианты исключительно для выпендрёжа, а не чтобы во всех маргинальных случаях работали.
Сообщение от easybudda
А зачем это делать? Вы же считаете только количество цифр, вам не нужно его «представлять» в каком-либо другом виде.
turbanoff, то есть нужно было написать комментарий с той частью курса математики, в которой объясняется, почему не бывает числа, в степень которого нужно возвести число 10, чтобы получить отрицательное число, или хотябы ноль. Добавить небольшой трактат на тему машинного представления целых чисел. И всё ради того, чтобы сказать — да, таки эта функция с числом -2147483648 не справится.
Вот вариант с подсчётом суммы цифр в числе, снова выпендрёжный и снова при вводе -2147483648 приводящий к аццкой рекурсии, валящей программу с этим самым Stack. ну Вы в курсе
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
import java.util.Scanner; class DigitsSum { private static int digitsSum(int n) { return ( n 0 ) ? digitsSum(-n) : ( n == 0 ) ? 0 : n % 10 + digitsSum(n / 10); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); while ( true ) { System.out.print("Number: "); if ( ! sc.hasNextInt() ) break; int n = sc.nextInt(); System.out.println("Sum of digits: " + digitsSum(n)); } } }