我很难触发我的"如果"声明。当我输入"我喜欢我的''",CharSequence应该搜索的时候,代码从else语句中解出错误。我试图通过尝试使用CharSequence识别一个字母来查看contains方法是否读取空格。这没有任何帮助。我还尝试将我的contains方法更改为布尔值,如果布尔值为true,则运行if语句。这也行不通。我在其他代码上搜索了一下,看起来看起来很相似。 Eclipse并没有标记我刚刚开始的任何错误,并且对于还有什么其他尝试没有任何线索。如果有关于如何清理我的代码或可能更好的方法的任何其他提示。请给予一些建设性的批评。
import java.util.Scanner;
public class hello {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
try {
System.out.println("Hi, what is your name?");
String name1 = scan.next();
System.out.println("Hello "+ name1 + ". Tell me what you like about yourself?\n"
+ "Please pretext what you like about yourself with the phrase 'I like my'.");
String selfEsteem = scan.next();
CharSequence searchString = "I Like my";
if (selfEsteem.contains(searchString)) {
selfEsteem = selfEsteem.replace("my", "your");
System.out.println(selfEsteem + "also.");
} else {
System.err.println("Error: User did not use 'I like my' input format");
}
} finally {
scan.close();
}
}
}
输出:
你好,你的名字是什么? 珍妮特 你好珍妮特。告诉我你喜欢什么? 请用“我喜欢我的'”这句话为你自己喜欢的事情。 我喜欢我的胸部 错误:用户没有使用'我喜欢我的'输入格式答案 0 :(得分:0)
searchString
为"I Like my"
,而您的文字为"I like my"
。因此,我假设您的用户将输入小写字母而contains
区分大小写,因此无法找到它。
更改为:
CharSequence searchString = "I like my";
答案 1 :(得分:0)
您正在搜索"I Like my"
,而您的错误按摩表明它应该是'I like my'
。
区分大小写。
键入"I Like my"
或将searchString
更改为“我喜欢我的”。
答案 2 :(得分:0)
使用
if (selfEsteem.contains(searchString))
...
而不是
res.render('finish', {userName: 'admin'});
然后用户键入的情况无关紧要。