【发布时间】:2025-12-27 09:15:06
【问题描述】:
我是 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]
【问题讨论】:
-
你忘了总结
bytes。 -
确定输入是来自C0 Controls and Basic Latin 块的字符,但请使用getBytes method overload,其结果不会因系统用户的当前设置而异。
getBytes(StandardCharsets.US_ASCII)。 “默认”字符集绝不是您应该使用的,除非它正是您需要的(这种情况很少见)。