这是我的代码:
public boolean isConsonant(char x){
if (!Character.isLetter(x)){
System.out.print ("What you have entered cannot be a consonant or vowel.");
return false;
}
return (x != 'a' && x != 'e' && x != 'i' && x != 'o' && x != 'u');
}
我遇到的问题是第一个if语句。在此之后我在代码中多次调用isConsonant方法,并根据返回的calue(true或false)代码执行某些操作。
问题是如果char不是字母,我根本不希望该方法继续。我希望程序结束。我试图做的是写另一个看起来像这样的方法:
public voidisNotLetter(char x)
if (!Character.isLetter(x){
System.out.println("What you have entered cannot be a consonant or vowel.");
}
这就是我被困住的地方。我不知道我可以在该方法中放置什么来阻止程序运行并将该语句打印给用户。我想过抛出一个IllegalArgumentException,但这在技术上并不正确,因为参数是有效的,但不是我想要的。
答案 0 :(得分:2)
如果您想“停止程序运行并将该语句打印给用户”,这可能有所帮助:
if (!Character.isLetter(x)){
System.out.print ("What you have entered cannot be a consonant or vowel.");
System.exit(0); //This would terminate the execution if the condition is met
}
更多详情here。希望它有所帮助。
答案 1 :(得分:1)
您可以尝试嵌套if语句。
if(isLetter(input)){
if(isConsonant(input)
//input is consonant
else
//input is not consonant
}else{
//input is not letter
}