2014-09-29 83 views
-1

對不起,我是一個有點無能,當談到這一點,我有一點麻煩與我的方案的這一特定部分。程序運行但沒有輸出?

的目標是,當有人輸入三個詞串中重新安排它以這樣的方式說:「艾瑪夏洛特倫納德」變成「倫納德,艾瑪,C」。

這是我迄今爲止針對具體方法:

public String lastFirst (String str) 
{ 
    Scanner keyboard = new Scanner(System.in); 
    System.out.println ("Enter your name"); 
    String lastFirst = keyboard.nextLine(); 
    String middleAndLast = lastFirst.substring(lastFirst.indexOf(" ")+ 1); 
    String last = middleAndLast.substring(middleAndLast.indexOf(" ") + 1); 
    String first = lastFirst.substring(0, lastFirst.indexOf(" ")); 
    String middle = middleAndLast.substring(0, middleAndLast.indexOf(" ")); 
    char middleInitial = middle.charAt(0); 
    return("\"" + last + ", " + first + ", " + middleInitial + "\""); 
} 

任何幫助,將不勝感激,對不起,如果我沒有把足夠的信息。

+0

你* *打印輸出? – TheLostMind 2014-09-29 06:52:01

+0

代替上述掃描鍵盤一個系統輸出=新掃描儀(System.in)。只是爲了確保它的功能與否。 – 2014-09-29 06:52:12

+0

主要方法在哪裏? – 2014-09-29 06:55:12

回答

1

我相信這是你想達到什麼目的:

public class RearrangeName{ 
    public static void main(String[] args){ 
     Scanner keyboard = new Scanner(System.in); 
     System.out.println ("Enter your name"); 
     String inputStr= keyboard.nextLine(); 
     System.out.println(lastFirst(inputStr)); 
    } 
    public static String lastFirst (String str){ 
     String middleAndLast = str.substring(str.indexOf(" ")+ 1); 
     String last = middleAndLast.substring(middleAndLast.indexOf(" ") + 1); 
     String first = str.substring(0, str.indexOf(" ")); 
     String middle = middleAndLast.substring(0, middleAndLast.indexOf(" ")); 
     char middleInitial = middle.charAt(0); 
     return("\"" + last + ", " + first + ", " + middleInitial + "\""); 
    } 
} 

Demo here

0

你想輸出爲「Leonard,Charlotte,L」「Leonard,Emma,C」。 您的程序的當前輸出是第二個選項。如果你希望的第一輸出,那麼你應該聲明middleInitial爲字符串middleInitial = last.charAt(0);

0

試試下面的例子是返回「艾瑪·夏洛特·倫納德」爲「倫納德,夏洛特,L」

public class Example{ 

public static void main(String[] args) { 
    Scanner input = new Scanner(System.in); 
    Example exp = new Example(); 
    System.out.print("Enter your number : "); 
    System.out.println(exp.getName(input.nextLine())); 
} 

private String getName(String name){ 
    String arr[] = name.split(" "); 
    return arr[2]+ ", "+arr[1]+", "+arr[2].substring(0, 1); 
} 

}