返回使用'contains'比较两个字符串的结果

时间:2012-11-21 03:38:23

标签: java if-statement boolean

所以,我输入了两个字符串,并且在mString中查找了subString。当我将方法更改为boolean时,它返回true或false的正确输出(通过在contains语句上使用return)。

我不知道如何使用该语句来检查包含运算符的结果。我完成了以下工作。

public class CheckingString
{

    public static void main(String[] args)
    {
        // adding boolean value to indicate false or true
        boolean check;

        // scanner set up and input of two Strings (mString and subString)
        Scanner scan = new Scanner(System.in);
        System.out.println("What is the long string you want to enter? ");
        String mString = scan.nextLine();
        System.out.println("What is the short string that will be looked for in the long string? ");
        String subString = scan.nextLine();

        // using the 'contain' operator to move check to false or positive.
        // used toLowerCase to remove false negatives
        check = mString.toLowerCase().contains(subString.toLowerCase());

        // if statement to reveal resutls to user
        if (check = true)
        {
            System.out.println(subString + " is in " + mString);
        }
        else
        {
            System.out.println("No, " + subString + " is not in " + mString);
        }
    }

}

有没有办法让检查字段正常工作以在if-else语句中返回一个值?

4 个答案:

答案 0 :(得分:5)

if (check = true){

应该是:

if (check == true){

通常你会写:

if(check)

检查是否真实

if(!(check)) 

或:

  

如果(!检查)

检查是否错误。

答案 1 :(得分:5)

琐碎的错误:

if(check = true)更改为if(check == true)或仅if (check)

通过执行check = true,您指定为true以进行检查,因此条件if(check = true)将始终为真。

答案 2 :(得分:0)

在if语句中使用布尔变量的首选方法是

if (check)

请注意,您不需要使用等于运算符,这可以避免您所犯的错误。

答案 3 :(得分:0)

试试吧

 if (check) {
        System.out.println(subString + " is in " + mString);
    } else {
        System.out.println("No, " + subString + " is not in " + mString);
    }