所以我有这个Java分配,我必须创建一个程序,如果用户输入“启动”,它开始for循环,这将打印“启动”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");
}
}
}
}
答案 0 :(得分:3)
您应该使用equals
而不是==
if (input.equals(checker))
答案 1 :(得分:2)
if(input == checker){
应该是
if(input.equals(checker)){
使用equals()
方法检查两个字符串对象是否相等。对于字符串(一般对象),==
运算符检查两个引用是否引用同一对象
答案 2 :(得分:2)
正如其他人所指出的那样,使用equals
方法来比较字符串:
if(checker.equals(input))
但是,对于for
的值,从0到100,您的Initiated
循环将打印x
101次。替换
for(x=0;x<=100;x++)
与
for(x=0;x<100;x++)
答案 3 :(得分:0)
if(input == checker)
比较这两个变量是否具有相同的对象引用。即:指向同一个对象。
if(input.equals(checker))
检查输入是否与checker具有相同的内容。这就是为什么它不起作用:)。