2015-05-17 3 views
6

Ich habe den folgenden Code geschrieben. Dies funktioniert, wenn nur zwei Initialen vor dem Nachnamen stehen. Wie ändere ich es, um mit 3 oder mehr Initialen zu arbeiten. Zum Beispiel:Wie schreibe ich ein Java-Programm, um den vollständigen Namen einer Person zu akzeptieren und den Nachnamen mit Initialen auszugeben?

Input: ABC EFG IJK XYZ

Output I want is: A E I XYZ 

Hier ist mein Code:

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

Sind Sie jeder bekommen Ausnahme –

Antwort

3

eine Schleife verwenden und beschränken nicht den Split 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]); 
} 
Verwandte Themen