Java 输出姓名首字母的算法

Java 输出姓名首字母的算法,java,Java,我刚刚开始java编程,目前正在做一些基本的事情。我遇到了一个我无法解决的问题,也没有找到任何答案,所以我想你可以帮我一下。我想写一个程序来提示用户输入他们的全名(名字、第二个名字和姓氏)并输出他们的首字母 假设用户总是键入三个名称,并且不包含任何不必要的空格。因此,输入数据将始终如下所示:Name Middlename Name 我的一些代码,我已经做了,并停留在那里,因为我得到的是代码中的字母编号,而不是字母本身 import java.util.*; public class Initia

我刚刚开始java编程,目前正在做一些基本的事情。我遇到了一个我无法解决的问题,也没有找到任何答案,所以我想你可以帮我一下。我想写一个程序来提示用户输入他们的全名(名字、第二个名字和姓氏)并输出他们的首字母

假设用户总是键入三个名称,并且不包含任何不必要的空格。因此,输入数据将始终如下所示:Name Middlename Name

我的一些代码,我已经做了,并停留在那里,因为我得到的是代码中的字母编号,而不是字母本身

import java.util.*;
public class Initials
{
     public static void main (String[] args)
     {
        //create Scanner to read in data
        Scanner myKeyboard = new Scanner(System.in); 


        //prompt user for input – use print to leave cursor on line
        System.out.print("Please enter Your full Name , Middle name And Surname: ");
        String name = myKeyboard.nextLine();

                String initials1 = name.substring(0, 1); 
                int initials2 = name.

                //output Initials
                System.out.println ("Initials Are " + initials1 + initials2 + initials3);


     }
}

用户将输入一个字符串,如

“第一个中间最后一个”

因此,您需要从字符串中获取每个单词

抢劫


获取用户输入数据的每个单词后,需要使用a获取名称每个部分的第一个字母。

首先,nextLine函数将返回全名。首先,您可能需要在空格中
.split()
字符串
name
。这需要用户提供一个格式正确的字符串,但我还不担心这个问题

拆分字符串后,它将返回一个字符串数组。如果用户正确地将它们放入,则可以在数组上执行for循环

StringBuilder builder = new StringBuilder(3);
for(int i = 0; i < splitStringArray.length; i++)
{
    builder.append(splitStringArray[i].substring(0,1));
}

System.out.println("Initials Are " + builder.toString());
StringBuilder=新的StringBuilder(3);
对于(int i=0;i
使用String
split()
方法。这允许您使用特定的正则表达式拆分字符串(例如,按空格字符拆分字符串)。返回值是一个数组,其中包含每个拆分值。有关方法,请参见

Scanner myKeyboard = new Scanner(System.in); 

System.out.print("Please enter Your full Name , Middle name And Surname: ");
String name = myKeyboard.nextLine();

String[] nameParts = name.split(" ");

char firstInitial = nameParts[0].charAt(0);
char middleInitial = nameParts[1].charAt(0);
char lastInitial = nameParts[2].charAt(0);

System.out.println ("Initials Are " + firstInitial + middleInitial + lastInitial);

请注意,以上假设用户输入了正确数量的名称。如果你需要防止用户做“奇怪”的事情,你需要做一些捕捉或检查。

你在
int initials2=name之后缺少一些代码。
,请修复这是一个问答网站,不是论坛。设置一个更合适的标题。如果这是作业,请标记为你真的应该“教他钓鱼”,而不是“给他一条鱼”。@hvgotcodes在某些情况下,我会同意,但他也说他也在做非常基本的事情。如果他真的对学习感兴趣,他可以选择学习代码所说的内容,这将通过他自己的逻辑推理教给他更多的东西。更有可能的是,他只是将其作为家庭作业的一部分提交assignment@hvgotcodes根据我的经验,那些能做到这一点的,无论哪种情况,在编程课上都不能取得好成绩。如果他真的选择了这条路,他已经在为自己的成绩挖坟墓了。我更愿意认为,并不是所有第一次来这里的人都只是在寻求家庭作业的帮助。我们不会在那里帮助学生进行考试等。因此,如果他们在家庭作业上“作弊”,他们最终只会在课堂上得到一个不好的分数。我知道有很多大学毕业于计算机科学专业的人找不到工作,因为他们对材料不太了解。所以,如果他们使用我们的答案而不费心去理解,他们就会自杀。