【发布时间】:2019-10-02 21:49:20
【问题描述】:
我必须将传入字符串的每个单词的第一个字母大写。我的输出是大写,但它没有保持原始输出的格式。例如,字符串输入是“hello world”,我的输出是“HelloWorld”,我想要的输出应该是“Hello World”。
我尝试在整个代码中添加空格,但没有任何效果。我认为问题是当我使用 toCharArray 时,它给了我一个没有空格的输出?所以我的连接结果是一口气添加所有内容,而不是单独添加每个单词?
或者我认为我的代码在结果中使用了字符串连接,并且它没有被分开,因为我将两个单词都放入同一个变量中。
import java.util.*;
import java.io.*;
class Main {
public static String LetterCapitalize(String str) {
// code goes here
String[] word = str.split(" ");
String result = "";
for(int i = 0; i < word.length; i++) {
char[] charWord = word[i].toCharArray();
for(int j = 0; j < charWord.length; j++ ) {
String cap = word[i].charAt(0) + "";
cap = cap.toUpperCase();
//System.out.print(" ");
result += (j == 0 ? cap : word[i].charAt(j));
}
}
return result;
}
public static void main (String[] args) {
// keep this function call here
Scanner s = new Scanner(System.in);
System.out.print(LetterCapitalize(s.nextLine()));
}
}
没有错误。只是没有得到想要的输出。
【问题讨论】:
-
您的代码没有在结果中添加任何空格。