所以这是我的计划大写字符串中的话,但在java中的字符串中跳数和多余的空格或符号
import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
import java.awt.event.*;
public class Capitalize
{
public static void main(String [] arg)
{
String x = JOptionPane.showInputDialog("Enter Phase");
String y = capsFirst(x);
System.out.println(y);
}
public static String capsFirst(String str)
{
String[] words = str.split(" ");
StringBuilder ret = new StringBuilder();
for(int i = 0; i < words.length; i++)
{
ret.append(Character.toUpperCase(words[i].charAt(0)));
ret.append(words[i].substring(1));
if(i < words.length - 1)
{
ret.append(' ');
}
}
return ret.toString();
}
}
现在的问题是我无法弄清楚,我需要什么样的逻辑,使之去哎这是一个我不能编辑的数字。当它到达它并没有给我这个错误:我必须将文本转换的
Exception in thread "main" java.lang.StringIndexOutOfBoundsException:
String index out of range: 0
at java.lang.String.charAt(String.java:646)
at Capitalize.capsFirst(Capitalize.java:36)
at Capitalize.main(Capitalize.java:25)
例子是:
伦敦(四个空格)英格兰2015年
必须转换为
伦敦(四个空格)英格兰2015
这实际上是一个很好的方法。我测试了多种方式,并且能够非常轻松地遵循逻辑。再次感谢你。 – 2015-04-02 01:25:11
@PatrickRoanhouse一定要接受答案,如果它帮助你! – 2015-04-02 19:31:01