首页 > 解决方案 > 编写一个程序,在命令行中插入三个字符串,查看它们首字母的串联

问题描述

目标是:“编写一个程序,插入三个字符串并查看它们首字母的串联。”

Scanner in = new Scanner(System.in);
String prima = in.next();
String seconda = in.next();
String terza = in.next();

System.out.println(prima.charAt(0) + seconda.charAt(0) + terza.charAt(0));

为什么它打印数字而不是首字母?

标签: java

解决方案


这是因为该charAt方法返回一个char原语。+Java中原语运算符的规则char说它被视为一个数字 - 基本上它被转换为int然后添加。这就是 Java 的设计方式,它在 Java 语言规范的 5.6.2 节中有详细说明

运算符仅在+操作数之一为 a 时执行字符串连接String。如果您按如下方式更改最后一行,您可以为您的程序实现这一点。

System.out.println("" + prima.charAt(0)+seconda.charAt(0)+terza.charAt(0));

额外""的是 a String,因此每个+人都会将 a 添加String到 a char,在这种情况下它会连接,而不是将char值转换为数字。


推荐阅读