我是java的初学者,无法使用此代码.我要做的是将任何输入的字符串转换为大写,而不使用toUpperCase字符串方法.这就是我所拥有的:
public String toUpperCase(String str)
{
for(int i = 0; i < str.length(); i++)
{
char a = str.charAt(i);
a = Character.toUpperCase(a);
str += Character.toString(a);
}
return str;
}
Run Code Online (Sandbox Code Playgroud)
您正在使用str输入和输出(因此您String有无限长度,因为您不断添加字符).你可以使用static,因为你没有使用实例状态.而且,您可以使用for-each循环.最后,添加另一个String或更好的StringBuilder类似
public static String toUpperCase(String str) {
StringBuilder sb = new StringBuilder();
for (char ch : str.toCharArray()) {
sb.append(Character.toUpperCase(ch));
}
return sb.toString();
}
Run Code Online (Sandbox Code Playgroud)
有以下方法,但它不考虑英语之外的任何字符(没有变音符号,z后面没有其他语言的字符).
public String toUpperCase(String str) {
char[] chars = str.toCharArray();
for (int i=0; i<chars.length; i++) {
char c = chars[i];
if ('a' <= c && c <= 'z') {
chars[i] = (char) (c - 'a' + 'A');
}
}
return new String(chars);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3879 次 |
| 最近记录: |