簡體   English   中英

編譯基本Java代碼時出錯

[英]Error compiling basic java code

Java新手。 通過遵循本書來練習編碼。

這是我的代碼:

class Motorcycle {


    //Three instance variables - make and color are strings. while a boolean refers to TRUE OR FLASE(in this case off or on)
    String make;
    String color;
    boolean engineState;

    void startEngine() {
        if (engineState == true)
            System.out.print("The engine is already on.");
        else {
            engineState = true;
            System.out.print("The engine is now on.");

        }

    void showAtts() {
        System.out.print("This motorcycle is a " + color + " " + make);
        if (engineState ==true)
            System.out.print("The engine is on.");
        else System.out.print("The engine is off.");

    }
}
}

編譯時出現2個錯誤:

1)非法開始表達2); 預期

我無法指出問題所在。 如果有人可以指導我或暗示我,請這樣做。

您的大括號之一在錯誤的位置。 應該:

class Motorcycle {

//Three instance variables - make and color are strings. while a boolean refers to TRUE OR FLASE(in this case off or on)
  String make;
  String color;
  boolean engineState;

  void startEngine() {
    if (engineState == true)
      System.out.print("The engine is already on.");
    else {
      engineState = true;
      System.out.print("The engine is now on.");
    }
  }
  void showAtts() {
    System.out.print("This motorcycle is a " + color + " " + make);
    if (engineState ==true)
      System.out.print("The engine is on.");
    else System.out.print("The engine is off.");
  }
}

方法startEngine沒有其右花括號,並且在代碼末尾還有另一個備用的右花括號

您已經在startEngine()方法中定義了showAtts() startEngine()方法。 一個方法不能定義另一個方法。

這可能是因為括號放置不正確。 糾正他們。

class Motorcycle {

    // Three instance variables - make and color are strings. while a
    // boolean refers to TRUE OR FLASE(in this case off or on)
    String make;
    String color;
    boolean engineState;

    void startEngine() {
        if (engineState == true)
            System.out.print("The engine is already on.");
        else {
            engineState = true;
            System.out.print("The engine is now on.");

        }
    }

    void showAtts() {
        System.out.print("This motorcycle is a " + color + " " + make);
        if (engineState == true)
            System.out.print("The engine is on.");
        else
            System.out.print("The engine is off.");

    }
}

您正在嘗試在另一個方法中定義一個方法:

void startEngine() {
   if (engineState == true)
        System.out.print("The engine is already on.");
   else {
       engineState = true;
        System.out.print("The engine is now on.");

   }

 void showAtts() {
   System.out.print("This motorcycle is a " + color + " " + make);
   if (engineState ==true)
       System.out.print("The engine is on.");
   else System.out.print("The engine is off.");

}
}

分離出方法:

void startEngine() {
   if (engineState == true)
        System.out.print("The engine is already on.");
   else {
       engineState = true;
        System.out.print("The engine is now on.");
   }
}  // forgot this paranthesis


void showAtts() {
   System.out.print("This motorcycle is a " + color + " " + make);
   if (engineState ==true)
       System.out.print("The engine is on.");
   else System.out.print("The engine is off.");

}
class Motorcycle {


//Three instance variables - make and color are strings. while a boolean refers to TRUE OR FLASE(in this case off or on)
String make;
String color;
boolean engineState;

void startEngine() {
    if (engineState == true)
        System.out.print("The engine is already on.");
    else {
        engineState = true;
        System.out.print("The engine is now on.");

    }
    } //put one here

void showAtts() {
    System.out.print("This motorcycle is a " + color + " " + make);
    if (engineState ==true)
        System.out.print("The engine is on.");
    else System.out.print("The engine is off.");

}
}
// }  remove this 

格式正確無誤,請嘗試此操作。

public class Motorcycle {

public static void main(String[] args) {
    Motorcycle s=new Motorcycle();
    s.showAtts();
    s.startEngine();
}

//Three instance variables - make and color are strings. while a boolean refers to TRUE OR FLASE(in this case off or on)
String make;
String color;
boolean engineState;

void startEngine() {
    if (engineState == true)
        System.out.println("The engine is already on.");
    else {
        engineState = true;
        System.out.println("The engine is now on.");

    }
}
void showAtts() {
    System.out.print("This motorcycle is a " + color + " " + make);
    if (engineState ==true)
        System.out.println("The engine is on.");
    else System.out.println("The engine is off.");

}

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM