package Game;
import java.util.Scanner;
public class practice {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
String jack = "good, how are you?";
System.out.println("Hello, my name is Julie the Robot");
try{
Thread.sleep(1000);
}catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
System.out.println("How Are You?");
if (jack.equals(sc.nextLine())); {
System.out.println("Im Doing Great!");
}
// this code is giving me an error
else if (!jack.equals(sc.nextLine()));{
System.out.println("Oh! So you dont care about me eh?");
}
try{
Thread.sleep(700);
}catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
System.out.print("...");
try{
Thread.sleep(200);
}catch(InterruptedException ex1) {
Thread.currentThread().interrupt();
}
System.out.print("And Yes, I'm A Canadian");
}
}
我正在尝试运行这段代码,但它会突出显示其他部分,而不是让我运行它。它出什么问题了?
答案 0 :(得分:5)
从;
和if();{
else if ();{
答案 1 :(得分:1)
您使用的是冒号错误的
if (jack.equals(sc.nextLine()))[;]<--don't need this {
System.out.println("Im Doing Great!");
}
else if (!jack.equals(sc.nextLine()))[;]<--don't need this either{
答案 2 :(得分:1)
说明:
if,else,else if,while,do,for ...的语法是从C / C ++继承的。
我们将使用if的语法作为示例,如下所示:
if (header) statement
什么是声明?声明是这样的:
function();
{ statement1; statement2; }
;
x = x + 1;
一个声明是外行人的“一个可执行的代码单元”。请注意{...}
是一个语句(这里,{ }
是'这些花括号中的所有内容应被视为一个语句的语法'而;
也只是一个语句(它是语句)什么都不做。)
所以if (condition);
评估条件,如果它是真的什么也没做,否则跳过什么都不做。 ......你可以看到为什么这会让你的代码破裂。
类似地:
else if (condition);
else;
while (condition);
for (int i = 0; i < count; ++i);
do; { } while (condition);
都被破坏,因为;
被认为是条件成立时构造将执行的一个语句。既然你知道这些分号打破流构造的原因,你将来可以避免它们,并知道原因。