0

したがって、このJava割り当てがあり、プログラムを作成する必要があります。ユーザーが「initiate」と入力すると、forループが開始され、「initiated」が100回出力されます。コードでエラーを検索しましたが、見つかりません。助けてください :)

前もって感謝します。

       package container;

        import java.util.Scanner;

        public class Assignment1 {


    public static void main(String[] args) {
        // TODO Auto-generated method stub

        int x = 0;

        String checker = "initiate";

        Scanner scan = new Scanner(System.in);
        String input = scan.nextLine();     
        if(input == checker){

            for(x=0;x<=100;x++){

                System.out.println("Initiated");

            }
        }   
    }
}
4

5 に答える 5

3

equalsの代わりにを使用して文字列を比較する必要があります==

if (input.equals(checker))
于 2013-02-25T23:28:07.133 に答える
2
 if(input == checker){

する必要があります

 if(input.equals(checker)){

メソッドを使用equals()して、2つの文字列オブジェクトが等しいかどうかを確認します。==文字列(オブジェクト一般)の場合の演算子は、2つの参照が同じオブジェクトを参照しているかどうかをチェックします

于 2013-02-25T23:28:04.140 に答える
2

他の人が指摘しているように、このequalsメソッドを使用して文字列を比較します。

if(checker.equals(input))

ただし、0から100までの値の場合、forループはInitiated101回出力されます。置換x

for(x=0;x<=100;x++)

for(x=0;x<100;x++)
于 2013-02-25T23:31:51.603 に答える
0

input.equals(checker)の代わりにを使用する必要がありinput == checkerます。

于 2013-02-25T23:28:37.937 に答える
0
if(input == checker)

これらの2つの変数が同じオブジェクト参照を持っているかどうかを比較します。つまり、同じオブジェクトをポイントします。

if(input.equals(checker))

入力にチェッカーと同じ内容があるかどうかをチェックします。それが機能していない理由です:)

于 2013-02-25T23:29:57.440 に答える