Как найти сумму массива ascii? - PullRequest
0 голосов
/ 17 февраля 2019

Я новичок в Java (2 недели), и я пытаюсь преобразовать введенную строку в код ascii и пытаюсь распечатать сумму.

Я пытался использовать IntStream.of (AsciiArray) .sum, но поскольку это строка, а не int, она не работает (понятно)

import java.util.Arrays;
import java.util.Scanner;


public class Strings{

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter a 5 letter word (all lower case): ");
        String word = input.nextLine(); 
        int length = word.length();
        byte[] bytes = word.getBytes(); 
        String AsciiArray = Arrays.toString(bytes);

        System.out.println("the ascii sum is" + AsciiArray);
    }

}

пример того, что я пытаюсь сделать: «Введите слово из 5 букв (все строчные): "

привет

сумма аськи равна 532

что я получу:

" Введите 5-буквенное слово (все строчные): "

привет

сумма асии равна [104, 101, 108, 108, 111]

Ответы [ 2 ]

0 голосов
/ 17 февраля 2019

Более простое решение для поиска суммы всех символов:

System.out.println("the ascii sum is " + word.chars().sum());
0 голосов
/ 17 февраля 2019

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

Например:

byte[] bytes = word.getBytes(); 
int sum = 0;
for (int i = 0; i < length; i++) {
    sum += bytes[i];
}
System.out.println("the ascii sum is " + sum);
...