如何打印用户在Java中输入的字符串的一个字母?

时间:2016-01-31 05:01:07

标签: java string java.util.scanner

我已经阅读了其他类似的问题,但他们没有多大帮助。 我想提示用户输入一个三字的字符串,然后我想输出每个单词的第一个字符的大写。

例如......

用户输入"Benjamin Andrew Linus"

,程序打印出"BAL"

我尝试使用char name = charAt(),但这不是我应该使用的。

这就是我到目前为止......

import java.util.Scanner;

public class Initials {
    public static void main(String[] args) {

     Scanner in = new Scanner(System.in);

        System.out.print("Enter your full name: ");
        String first_name = in.next();
        String middle_name = in.next();
        String last_name = in.next();
     }
}

3 个答案:

答案 0 :(得分:1)

编写整个代码无济于事。我只是给你一个提示。

这可能会有所帮助:

Character.isUpperCase(first_name.charAt(<int poistion in string>));

答案 1 :(得分:0)

尝试使用拆分将全名拆分为三个字符串。

所以你可以尝试以下方法:

String name = in.nextLine().split(" ");
String initial = "";
for(int i = 0; i < 3; i++) {
    initials += name[0].charAt(0);
}

答案 2 :(得分:0)

使用给我的答案,这是最终为我工作的......

System.out.print("Enter your full name: ");
    String first_name = in.next();
    String middle_name = in.next();
    String last_name = in.next();

    String initial1 = String.valueOf(first_name.charAt(0)).toUpperCase();
    String initial2 = String.valueOf(middle_name.charAt(0)).toUpperCase();
    String initial3 = String.valueOf(last_name.charAt(0)).toUpperCase();

    System.out.print(initial1 + initial2 + initial3);