如何使用包含方法" if,else"声明?

时间:2016-07-02 11:21:08

标签: java string if-statement contains charsequence

我很难触发我的"如果"声明。当我输入"我喜欢我的''",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();
        }
    }

}

输出:

你好,你的名字是什么? 珍妮特 你好珍妮特。告诉我你喜欢什么? 请用“我喜欢我的'”这句话为你自己喜欢的事情。 我喜欢我的胸部 错误:用户没有使用'我喜欢我的'输入格式

3 个答案:

答案 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'});

然后用户键入的情况无关紧要。