用javac编译一个简单的java程序

时间:2018-01-31 20:12:10

标签: java compiler-errors

我需要一些帮助,使用javac编译一个简单的java程序。

所以我有这两个文件是由老师给我的:

Robot.java

class Robot {

  String name;
  int numLegs;
  float powerLevel;

  Robot(String name) {
    this.name = name;
    numLegs = 2;
    powerLevel = 2.0f;
  }

  Robot() {
    this(Standard Model);
  }

  void talk(String phrase) {
    if (powerLevel = 1.0f) {
      System.out.println(name +  says  + phrase);
      powerLevel -= 1.0f;
    } else {
      System.out.println(name +  is too weak to talk.);
    }
  }

  void charge(float amount) {
    System.out.println(name +  charges.);
    powerLevel = powerLevel + amount;
  }
}

RobotWorld.java

class RobotWorld {

  public static void main (String[] args) {
    Robot c3po = new Robot("C3PO");
    c3po.talk("'Hello, Java!'");   
  }

}

当我尝试通过在命令提示符下键入“javac RobotWorld.java”来编译它时,它只返回一堆错误。我怎样才能解决这个问题?我安装了JDK 8。

enter image description here

2 个答案:

答案 0 :(得分:2)

看起来所有的双引号字符都被删除了。我还在“powerLevel =”之后添加了另一个等号。试试这个:

class Robot {

    String name;
    int numLegs;
    float powerLevel;

    Robot(String name) {
        this.name = name;
        numLegs = 2;
        powerLevel = 2.0f;
    }

    Robot() {
        this("Standard Model");
    }

    void talk(String phrase) {
        if (powerLevel == 1.0f) {
            System.out.println(name + " says " + phrase);
            powerLevel -= 1.0f;
        } else {
            System.out.println(name + " is too weak to talk.");
        }
    }

    void charge(float amount) {
        System.out.println(name + "charges.");
        powerLevel = powerLevel + amount;
    }
}

节目输出为:C3PO太弱而无法说话。

答案 1 :(得分:1)

是的,你错过了字符串的双引号“”。 此外,标准模型代表什么?

看起来您打算让默认构造函数使用参数调用构造函数,机器人名称为“Standard Model”?