我一直在努力解决这个简单的问题:
我的测试者类应该读取名为name的输入和我的其他类 应该有一个只返回大写字母的方法。
我的代码返回大写字母和原始输入。
任何帮助都会有很长的路要走。
public static String pleaseGetUpperCase(String name){
for (int i=0;i<name.length();i++){
if (Character.isUpperCase(name.charAt(i))==true){
System.out.print(name.charAt(i));
//String name = Character.toString(name.charAt(i));
}
} return name;
}
答案 0 :(得分:2)
也许你应该尝试这样的事情:
public String getUpperCase(final String string){
final StringBuilder builder = new StringBuilder();
for(final char c : string.toCharArray())
if(Character.isUpperCase(c))
builder.append(c);
return builder.toString();
}
答案 1 :(得分:1)
您提供的方法不仅仅返回大写字符,它只打印它们并返回原始字符。这可以做到这一点:
public static String pleaseGetUpperCase(String name){
String uppercaseCharacters = "";
for (int i=0;i<name.length();i++){
char ch = name.charAt(i);
if (Character.isUpperCase(ch)){
uppercaseCharacters += ch;
}
}
return uppercaseCharacters;
}
旁注:在if条件下与true进行比较并不是很有用。
答案 2 :(得分:0)
试试这个......没有声明return name
public static String pleaseGetUpperCase(String name){
for (int i=0;i<name.length();i++){
if (Character.isUpperCase(name.charAt(i))){
System.out.print(name.charAt(i));
}
}
return "";
}
此函数将在字符串中打印大写字母..如果您希望它为returned
,则可以创建StringBuilder
的对象并将大写字符附加到其中然后将数据StringBuilder
对象作为String
返回。
public static String pleaseGetUpperCase(String name){
StringBuilder SB = new StringBuilder();
for (int i=0;i<name.length();i++){
if (Character.isUpperCase(name.charAt(i))){
SB.append(name.charAt(i);
}
}
return (SB.toString());
}