2015-09-11 25 views
0

好吧,我已经编写和解决了代码。我的问题是当我在同一行输入两个单词时,我得到了输入的内容以及我想要的解决方案。如何在java中用空格分隔每个字符串的第一个字母大写

我得到这个输出。 enter image description here

我想这个输出,而不是....幸福周四

       Happy Thursday 

下面是我的代码:

import java.util.Scanner; 

public class LetterCapitalize { 

    String CapitalizeLetter(String str) { 

     String[] words = str.split(" "); 
     String string = " "; 

     for(int i = 0; i < words.length; i++){ 
      char letter = Character.toUpperCase(words[i].charAt(0)); 
      string = " " + letter+ words[i].substring(1); 
      str += string; 
     } 
     return str; 
    } 

    public static void main(String[] args) { 
     Scanner s = new Scanner(System.in); 
     LetterCapitalize c = new LetterCapitalize(); 
     System.out.print(c. CapitalizeLetter(s.nextLine())); 
    } 
} 
+5

你觉得呢'STR + =字符串;'呢? –

回答

1

下可以STR修复it.reinitialize空字符串。

import java.util.Scanner; 

public class LetterCapitalize { 

    String CapitalizeLetter(String str) { 

    String[] words = str.split(" "); 
    String string = " "; 
    //re initialize to empty string 
    str=""; 
    for(int i = 0; i < words.length; i++){ 
     char letter = Character.toUpperCase(words[i].charAt(0)); 
     string = " " + letter+ words[i].substring(1); 
     str += string; 
    } 
    return str; 
} 

public static void main(String[] args) { 
    Scanner s = new Scanner(System.in); 
    LetterCapitalize c = new LetterCapitalize(); 
    System.out.print(c. CapitalizeLetter(s.nextLine())); 
} 
    } 
+0

噢好吧,我现在看到thx ... @ KDP – Alphanum3ric

0

如果你可以使用一个外部库,我会尝试capitalizethis库。

+0

谢谢,我刚刚学到了一些东西。我感谢你的帮助.. @ cacho – Alphanum3ric

0
  1. str重置为空或使用新的字符串变量。因为它已包含输入字符串。

    str = ""; 
    
  2. 请勿随字母capitalization一起添加空格。这样,您将在输出的前端留出额外的空间。添加空间,当你的长度大于零时,这意味着它已经包含了一些字符串。这应该是for循环中的第一件事,否则在字符串末尾会得到额外的空间。

    if (str.length() > 0) { 
        str = str + " "; 
    } 
    

下面是代码:

public class LetterCapitalize { 
    String CapitalizeLetter(String str) { 
    String[] words = str.split(" "); 
    String string; 
    str = ""; 
    for(int i = 0; i < words.length; i++) { 
     if (str.length() > 0) { 
     str = str + " "; 
     } 
     char letter = Character.toUpperCase(words[i].charAt(0)); 
     string = letter+ words[i].substring(1); 
     str += string; 
    } 
    return str; 
    } 
} 
相关问题