算法输出名称
的缩写我刚开始的Java编程和此刻的我做了基本的东西。我遇到了一个我无法解决的问题,也没有找到任何答案,所以我想你可能会帮我一把。我想写一个程序来提示用户输入他们的全名(名,姓和名)并输出他们的首字母缩写。算法输出名称
假设用户总是类型的三个名字,不包含任何不必要的空格。因此,输入数据将总是如下所示:名称中间名姓氏
我的一些代码已经完成并停留在那里,因为我得到的是代码中的字母数字,而不是字母本身。
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);
}
}
首先,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());
你应该真的想'教他钓鱼'而不是'给他一条鱼'。 – hvgotcodes
+1,因为我看不到投票的理由。 –
@hvgotcodes在某些情况下,我会同意,但他也表示他也在做非常基本的事情。如果他真的对学习有兴趣,他可以选择学习代码所说的内容,这将通过他自己的逻辑推理来教他更多。 – DavidAndroidDev
使用字符串split()
方法。这使您可以使用某个正则表达式分割字符串(例如,通过空格字符分割字符串)。返回值是一个包含每个分割值的数组。有关该方法,请参阅documentation。
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