如何找到一个ASCII数组的总和?

时间:2019-02-17 05:31:50

标签: java arrays string ascii

我是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个字母的单词(全部小写):”

你好

ascii总和为532

我能得到什么:

“输入5个字母的单词(全部小写):”

你好

ascii和为[104,101,108,108,111]

2 个答案:

答案 0 :(得分:8)

一种用于查找所有字符总和的更简单的解决方案:

System.out.println("the ascii sum is " + word.chars().sum());

答案 1 :(得分:3)

您已经获得了输入单词的每个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);