编写一个程序,在命令行视图中插入三个字符串,并将它们的首字母串联

时间:2018-11-06 18:13:18

标签: java

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

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));

为什么打印数字而不是缩写?

3 个答案:

答案 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)