我需要什么字符串方法才能使它看起来像Javaish?

cla*_*aws 1 java string

我是C程序员而不是Java程序员.我不知道Java中有哪些方法可用,哪些方法没有.几个小时以来我一直在努力.

它是一个大项目的一部分.我有一个字符串,我需要字符串中有元音,辅音和数字.

string s = "asdf";
char[] charArr = s.toLowerCase().toCharArray();
        for(int i=0;i<s.length();i++)
        {
            if( charArr[i] == 'a' || charArr[i] == 'e' || charArr[i] == 'i' || charArr[i] == 'o' || charArr[i] == 'u')
            {
                // stuff here           
            }
        }
Run Code Online (Sandbox Code Playgroud)

但这看起来不像Java代码.我仍然在考虑C.我想让它看起来像Java.有什么方法可供我使用吗?

Arv*_*rve 5

这是一种可能性,相当可读...... :-)

至少,为了便于阅读,你应该像ifVowel,isConsonant这样的方法提取if-test.

public class TestStringIteration {

    private static final HashSet<Character> VOWELS = new HashSet<Character>(
            Arrays.asList('a', 'e', 'i', 'o', 'u'));
    private static final HashSet<Character> CONSONANTS = new HashSet<Character>(
            Arrays.asList('b', 'c')); // Add more letters :-)

    void stringTest(String s) {
        for (char c : s.toCharArray()) {
            if (Character.isDigit(c)) {
                // This is a digit
            } else if (isVowel(c)) {
                // This is a vowel
            } else if(isConsonant(c)) {
                // This is a consonant
            }
        }
    }


    private static boolean isVowel(char c) {
        return VOWELS.contains(c);
    }

    private static boolean isConsonant(char c) {
        return CONSONANTS.contains(c);
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:制作isVowelisConsonant静态