0

したがって、2 つの文字列が入力され、subString が mString で検索されました。メソッドをブール値に変更すると、(contains ステートメントで return を使用して) true または false の正しい出力が返されます。

そのステートメントを使用して、contains 演算子の結果を確認する方法がわかりません。私は次のことを成し遂げました。

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

4 に答える 4

5
if (check = true){

次のようにする必要があります。

if (check == true){

通常、次のように記述します。

if(check)

真偽を確かめる

と:

if(!(check)) 

また:

if(!check)

false をチェックします。

于 2012-11-21T03:40:01.997 に答える
5

些細な間違い:

またはに変更if(check = true)するif(check == true)if (check)

そうcheck = trueすることで、チェックにtrueを割り当てているため、条件if(check = true)は常にtrueになります。

于 2012-11-21T03:40:57.170 に答える
0

if ステートメントでブール変数を使用する好ましい方法は次のとおりです。

if (check)

等値演算子を使用する必要がないことに注意してください。これにより、作成したエラーが回避されます。

于 2012-11-21T03:43:40.667 に答える
0

それを試してみてください

 if (check) {
        System.out.println(subString + " is in " + mString);
    } else {
        System.out.println("No, " + subString + " is not in " + mString);
    }
于 2012-11-21T03:43:50.663 に答える