【发布时间】:2013-03-08 21:55:24
【问题描述】:
我正在尝试检查一个单词是否仅包含一组字母,例如 I、O、S、H 和 X 假设用户输入:SSHX,输出是yes,如果用户输入SHEXX,输出是NO
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String word = sc.next();
word = word.toUpperCase();
int length = word.length();
char letter = 0;
for (int counter = 0; counter < length; counter++) {
letter = word.charAt(counter);
}
if (letter != 'I' && letter != 'O' && letter != 'S' && letter != 'H' && letter != 'Z' && letter != 'X' && letter != 'N') {
System.out.print("NO");
} else {
System.out.print("YES");
}
}
【问题讨论】:
-
正则表达式是最简单的解决方案,但如果您想知道为什么您的方法不起作用,那是因为您没有在
for循环中测试任何内容。您可以在调试器中自己查看。