目标是:“编写一个程序,您要插入三个字符串并查看其首字母的串联。”
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));
为什么打印数字而不是缩写?
答案 0 :(得分:3)
这是因为charAt
方法返回了char
原语。 Java中的+
原语的char
运算符周围的规则说,它被视为数字-基本上将其转换为int
然后添加。这是Java的设计方式,它在section 5.6.2 of the Java language specification中有详细说明。
仅当其中一个操作数是+
时,String
运算符才执行字符串连接。如果您按如下所示更改最后一行,则可以在您的程序中实现此目的。
System.out.println("" + prima.charAt(0)+seconda.charAt(0)+terza.charAt(0));
多余的""
是一个String
,因此每个+
都会在String
上添加一个char
,在这种情况下,它会串联起来,而不是而不是将char
值转换为数字。
答案 1 :(得分:0)
这是三种不同的探索方式:
public class Answer {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String prima = in.next();
String seconda = in.next();
String terza = in.next();
//adding the primitive values
System.out.println(prima.charAt(0) + seconda.charAt(0) + terza.charAt(0));
//concat Strings
System.out.println("" + prima.charAt(0) + seconda.charAt(0) + terza.charAt(0));
//native print
System.out.print(prima.charAt(0));
System.out.print(seconda.charAt(0));
System.out.print(terza.charAt(0));
System.out.println();// new line
}
}
使用这样的输入: asdf UIOP {123dd 输出为:
231
aU1
aU1
答案 2 :(得分:-2)
txt = 'Teena is Positive. Sara is Negative'
reg = re.compile(r'(Teena|Sara).*(Positive|Negative)')
result = re.search(reg, txt).group(1)
print(result)