我正在开发一个项目,收到的评论之一是我的 if 语句太长。我同意这一点,但我仍然很困惑如何用建议的 for 循环替换它。它一直让我发疯。该项目是分析句子中的辅音并报告它们是否在其中。这是我使用的代码。该项目已经被标记,所以这更像是一个“我的错误在哪里/哪里可以改进的问题”。
if ((userInput.contains("b"))||(userInput.contains("c"))||(userInput.contains("d"))||
(userInput.contains("f"))||(userInput.contains("g"))||(userInput.contains("h"))||
(userInput.contains("j"))||(userInput.contains("k"))||(userInput.contains("l"))||
(userInput.contains("m"))||(userInput.contains("n"))||(userInput.contains("p"))||
(userInput.contains("q"))||(userInput.contains("r"))||(userInput.contains("s"))||
(userInput.contains("t"))||(userInput.contains("v"))||(userInput.contains("w"))||
(userInput.contains("x"))||(userInput.contains("y"))||(userInput.contains("z")))
//checking for consonants
results += "The input contains consonants";
else
results += "The input contains no consonants";
您可以创建一个辅音数组(可能作为您的类的静态常量),并使用一个函数来完成工作,类似于(此处的伪代码)
boolean hasConsonants(String userInput) {
for (String consonant : consonants)
if (userInput.contains(consonant)
return true;
return false;
}
然后你就可以简单地调用
if (hasConsonants(userInput))
results += "The input contains consonants";
else
results += "The input contains no consonants";
附:可能更好有你的consonants
数组是一个char[]
并使用char
代替String
in the for each loop
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)