0

所以我有这个Java作业,我必须在其中创建一个程序,如果用户输入“initiate”,它将开始for循环,它将打印“initiate”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()方法检查两个字符串对象是否相等。==字符串(一般是对象)的运算符检查两个引用是否引用同一个对象

于 2013-02-25T23:28:04.140 回答
2

正如其他人所指出的,使用该equals方法来比较字符串:

if(checker.equals(input))

但是,对于从 0 到 100的值,您的for循环也将打印101 次。替换Initiatedx

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)

比较这两个变量是否具有相同的对象引用。即:指向同一个对象。

if(input.equals(checker))

检查输入是否与检查器具有相同的内容。这就是为什么它不起作用:)

于 2013-02-25T23:29:57.440 回答