读取字符串并输出大写字母

时间:2013-10-05 23:38:41

标签: java

我一直在努力解决这个简单的问题:

我的测试者类应该读取名为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;
}   

3 个答案:

答案 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());

}