我写了以下代码。如果在姓氏之前只有两个首字母,则此方法有效。如何修改它以使用3个或更多首字母。例如:
Input: ABC EFG IJK XYZ
Output I want is: A E I XYZ
这是我的代码:
import java.util.*;
class Name{
public static void main(String[] args){
System.out.println("Please enter a Firstname , MiddleName & Lastname separated by spaces");
Scanner sc = new Scanner(System.in);
String name = sc.nextLine();
System.out.println(name);
String[] arr = name.split(" ",3);
System.out.println(arr[0].charAt(0)+" "+arr[1].charAt(0)+" "+arr[2]);
}
}
答案 0 :(得分:3)
使用循环并且不要将拆分限制为3:
{
System.out.println("Please enter a Firstname , MiddleName & Lastname separated by spaces");
Scanner sc = new Scanner(System.in);
String name = sc.nextLine();
System.out.println(name);
String[] arr = name.split(" ");
// print all the initials
for (int i = 0; i < arr.length - 1; i++) {
System.out.print(arr[i].charAt(0) + " ");
}
// print the last name
System.out.println(arr[arr.length-1]);
}
答案 1 :(得分:0)
import java.util.*;
class SName
{
public static void main(String[] args)
{
String n;
Scanner c=new Scanner(System.in);
System.out.print("Enter the user name:");
n=c.nextLine();
String [] t=n.split(" ");
int l=t.length;
System.out.print("Your Short name:");
for(int i=0;i<l-1;i++)
{
System.out.print(t[i].charAt(0)+".");
}
System.out.print(t[l-1]);
}
}
尝试使用此代码
更多Java Program