正在与Java比较最后2/3/4个字符(repl.it 018-条件语句练习4)
亲爱的Stackoverflow社区,我正在为repl.it(018)条件语句4上的一个任务而挣扎 所以他们希望我这样做: 老师的指示: 你要做的是: 给定一个字符串变量“word”,执行以下测试 如果单词以“y”结尾,则打印“-ies” 如果单词以“ey”结尾,则打印“-ey” 如果单词以“ife”结尾,请打印“-ives” 如果以上均不正确,请打印“-s” 最多只能打印一个 我的代码如下所示:正在与Java比较最后2/3/4个字符(repl.it 018-条件语句练习4),java,if-statement,compare,conditional,equals,Java,If Statement,Compare,Conditional,Equals,亲爱的Stackoverflow社区,我正在为repl.it(018)条件语句4上的一个任务而挣扎 所以他们希望我这样做: 老师的指示: 你要做的是: 给定一个字符串变量“word”,执行以下测试 如果单词以“y”结尾,则打印“-ies” 如果单词以“ey”结尾,则打印“-ey” 如果单词以“ife”结尾,请打印“-ives” 如果以上均不正确,请打印“-s” 最多只能打印一个 我的代码如下所示: import java.util.Scanner; class Main { public
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner inp = new Scanner(System.in);
System.out.print("In:");
String word = inp.nextLine();
//DO NOT CHANGE ABOVE CODE! Write your code below
if(word.endsWith("y"){
System.out.println("-ies");
}
else if(word.endsWith("ey")){
System.out.println("-eys");
}
else if(word.endsWith("ife")){
System.out.println("-ives");
}
else{
System.out.println("-s");
}
}
}
例如,当我运行它时,我的输入是:嘿
当然,我的代码将遍历代码,看看第一个语句是否正确,是的,它是相等的,因为最后的y=y,这是错误的
我的问题是如何让我的代码比较最后2或3个字符,以便在输入Hey时打印出正确的值
如果我输入Hey,它应该打印出来:
-爱与不爱
Ty将条件重新排序如下:
if(word.endsWith("ey")){
System.out.println("-eys");
}
else if(word.endsWith("ife")){
System.out.println("-ives");
}
else if(word.endsWith("y")){
System.out.println("-ies");
}
else{
System.out.println("-s");
}
这意味着我们提升最具体的条件,并将不太具体的条件放在下面
我已经把else if(word.endsWith(“y”)
作为else if
s的最后一个,但是在else if(word.endsWith(“y”)
链接中的什么位置并不重要,只要它在条件if(word.endsWith(“y”)
之前就可以了。因为以“y”结尾是以“y”结尾的子集,您的第二个if
将永远不会为真
将测试顺序更改为最具体的第一步:
if(word.endsWith("ey"){
System.out.println("-eys");
}
else if(word.endsWith("y")){
System.out.println("-ies");
}
else if(word.endsWith("ife")){
System.out.println("-ives");
}
作业的规范为解释留下了一些空间,但基本上你只需要重新安排
if
子句就可以得到你想要的结果。