我正在尝试编写一个do循环,在输入名称“Bob”之前将继续询问某个人的姓名。如果名称不是Bob,则响应应为“您不是Bob”。如果名称是Bob,则响应应为“Hi Bob”(然后循环结束)。
public class loopExtra3 {
public static void main(String[] args) {
String name;
name=Bob;
do {
System.out.println ("What is your name?");
if (name.equals("Bob") == false) {
System.out.println("You're not Bob");
}
if (name.equals("Bob") == true) {
System.out.println("Hi Bob");
}
} while (name.equals("Bob") == false);
}
}
答案 0 :(得分:2)
你的代码甚至没有编译,因为它必须是name="Bob";
- 如果你解决这个问题,你的代码就像魅力一样。但主要问题是你甚至没有要求输入,所以代码将无限运行,而不是Bob的名字。
阅读输入后,一切正常:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String name;
do {
System.out.println("What is your name?");
name = sc.nextLine();
if (!name.equals("Bob")) {
System.out.println("You're not Bob");
}
else {
System.out.println("Hi Bob");
}
} while (!name.equals("Bob"));
}
}