我是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.有什么方法可供我使用吗?
这是一种可能性,相当可读...... :-)
至少,为了便于阅读,你应该像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)
编辑:制作isVowel和isConsonant静态
| 归档时间: |
|
| 查看次数: |
353 次 |
| 最近记录: |