有一个代码可以将第一个单词字母大写。但是我无法找到将char数组转换回String的方法:
例如:“hello world”代码将其转换为["H", "e", "l", "l", "o", " ", "W", "o", "r", "l", "d"]
我想将其转换回“Hello World”
public class Solution
{
public static void main(String[] args) throws IOException
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
char[] chars = s.toCharArray();
chars[0] = Character.toUpperCase(chars[0]);
for (int i = 0; i < chars.length; i++){
if (chars[i] == ' '){
chars[i + 1] = Character.toUpperCase(chars[i + 1]);
}
}
System.out.println(chars);
}
}
答案 0 :(得分:4)
String str = String.valueOf( chars );
或
String str = new String( chars );
答案 1 :(得分:0)
另外两条评论:
在您的方法中,您应该确保[i+1]
元素实际存在。类似于&#34;测试&#34;的字符串,以空格结尾,会在您的代码中抛出ArrayIndexOutOfBoundsException
。
您应该关闭Reader,或者更好:使用 try-with-resources 块,如
try( BufferedReder reader = new InputStreamReader(System.in) ) {
...
} catch( ... ) {
...
}
为您关闭了Reader。