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. Достаточно легко написать свой собственный.

Читайте также:  Latest java runtime environment update

Другие ответы прекрасно, но здесь один с некоторыми для каждого синтаксического сахара.

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

Splunk tutorial

SPSS tutorial

Swagger tutorial

T-SQL tutorial

Tumblr tutorial

React tutorial

Regex tutorial

Reinforcement learning tutorial

R Programming tutorial

RxJS tutorial

React Native tutorial

Python Design Patterns

Python Pillow tutorial

Python Turtle tutorial

Keras tutorial

Preparation

Aptitude

Logical Reasoning

Verbal Ability

Company Interview Questions

Artificial Intelligence

AWS Tutorial

Selenium tutorial

Cloud Computing

Hadoop tutorial

ReactJS Tutorial

Data Science Tutorial

Angular 7 Tutorial

Blockchain Tutorial

Git Tutorial

Machine Learning Tutorial

DevOps Tutorial

B.Tech / MCA

DBMS tutorial

Data Structures tutorial

DAA tutorial

Operating System

Computer Network tutorial

Compiler Design tutorial

Computer Organization and Architecture

Discrete Mathematics Tutorial

Ethical Hacking

Computer Graphics Tutorial

Software Engineering

html tutorial

Cyber Security tutorial

Automata Tutorial

C Language tutorial

C++ tutorial

Java tutorial

.Net Framework tutorial

Python tutorial

List of Programs

Control Systems tutorial

Data Mining Tutorial

Data Warehouse Tutorial

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 RSS Feed Subscribe to Get Email Alerts Facebook Page Twitter Page YouTube Blog Page

Источник

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); } }

Эксперт PythonЭксперт JavaЭксперт CЭксперт С++

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"); } } }

Эксперт Java

ЦитатаСообщение от easybudda Посмотреть сообщение

оригинальный способ, я обычно в строку и ее длину 🙂

Эксперт PythonЭксперт JavaЭксперт CЭксперт С++

turbanoff, а как Вы себе это число представляете положительным 32-битным целым? Да и выпендрёжные варианты исключительно для выпендрёжа, а не чтобы во всех маргинальных случаях работали.

Эксперт Java

ЦитатаСообщение от easybudda Посмотреть сообщение

А зачем это делать? Вы же считаете только количество цифр, вам не нужно его «представлять» в каком-либо другом виде.

Эксперт PythonЭксперт JavaЭксперт CЭксперт С++

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)); } } }

Источник

Оцените статью