2011-10-01 30 views
-1

的縮寫我剛開始的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); 


    } 
} 
+0

'int initials2 = name.'後面缺少一些代碼,請修復 –

+2

這是一個問答網站,**不是**論壇。設置一個更合適的標題。 –

+0

如果這是作業,請將其標記爲 – hvgotcodes

回答

3

用戶將輸入一個字符串像

「倒數第一中間」

所以因此,你需要從字符串獲得每個字。

split戰利品。

後你會得到用戶輸入數據的每一個字,你需要使用一個loop來獲取名稱的每個部分的第一個字母。

2

首先,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()); 
+0

你應該真的想'教他釣魚'而不是'給他一條魚'。 – hvgotcodes

+0

+1,因爲我看不到投票的理由。 –

+0

@hvgotcodes在某些情況下,我會同意,但他也表示他也在做非常基本的事情。如果他真的對學習有興趣,他可以選擇學習代碼所說的內容,這將通過他自己的邏輯推理來教他更多。 – DavidAndroidDev

1

使用字符串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); 

請注意,上述假定用戶輸入了正確的名稱數量。你需要做一些檢查或檢查,如果你需要防止用戶做「怪異」的事情。