【发布时间】:2016-11-04 16:50:05
【问题描述】:
我很难触发我的“if”语句。当我输入 CharSequence 应该搜索的“我喜欢我的‘任何东西’”时,代码会从 else 语句中排除错误。我试图通过尝试使用 CharSequence 仅识别一个字母来查看 contains 方法是否没有读取空格。那没有帮助。我还尝试将我的 contains 方法更改为布尔值,如果布尔值为真,则运行 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();
}
}
}
输出:
你好,你叫什么名字? 珍妮特 你好珍妮特。告诉我你喜欢自己什么? 请用“我喜欢我的”这句话来掩饰你喜欢自己的什么。 我喜欢我的胸部 错误:用户没有使用“我喜欢我的”输入格式
【问题讨论】:
-
检查一下Like这个词的大小写,也许吧?包含应该区分大小写,并且您正在寻找“我喜欢我的”,而不是“我喜欢我的”
-
我将 "L" 转换为 "l" ,保存文件,然后仔细输入我的答案,却得到相同的错误消息?还有其他想法吗?
-
我的错误在于 scan.next() 方法,而不是使用 scan.nextLine()。感谢您的宝贵时间。
标签: java string if-statement contains charsequence