如果该程序的部分不起作用的其他?

时间:2013-06-16 23:51:02

标签: java

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");



    } 
}

我正在尝试运行这段代码,但它会突出显示其他部分,而不是让我运行它。它出什么问题了?

3 个答案:

答案 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);

都被破坏,因为;被认为是条件成立时构造将执行的一个语句。既然你知道这些分号打破流构造的原因,你将来可以避免它们,并知道原因。