首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行java教程,获取错误消息

执行java教程,获取错误消息
EN

Stack Overflow用户
提问于 2020-09-22 16:45:52
回答 2查看 46关注 0票数 0

我正在做一个试图学习基本java的教程。我有99%的把握我已经正确地遵循了教程,但是我得到了一堆这样的错误消息:

代码语言:javascript
复制
C:\Users\krist\IdeaProjects\Hello World\src\Main.java:10:45
java: ')' expected

C:\Users\krist\IdeaProjects\Hello World\src\Main.java:11:28
java: not a statement

C:\Users\krist\IdeaProjects\Hello World\src\Main.java:11:36
java: ';' expected

在本教程中,他们不使用这些符号,但代码在本教程中仍然有效。有没有可能是java中的一些更新改变了一些东西,或者我是否遗漏了一些软件来使其工作?

以下是Car.java的代码:

代码语言:javascript
复制
import java.awt.*;
public class Car {

    // Data types:
    // int -> 1, 2, 3...
    // double -> decimal 34.5, 32.1
    // String -> "a1a2" or "Hello World"
    // Color -> from awt library
    // Boolean -> true/false

    double averageMilesPerGallon;
    String licencePlate;
    Color paintColor;
    boolean areTaillightsWorking;

    public Car(double inputAverageMPG,
               String inputLicencePlate,
               Color inputPaintColor,
               boolean inputAreTaillightsWorking) {
        this.averageMilesPerGallon = inputAverageMPG;
        this.licencePlate = inputLicencePlate;
        this.paintColor = inputPaintColor;
        this.areTaillightsWorking = inputAreTaillightsWorking;
    }

    public void changePaintColor(Color newPaintColor) {
        this.paintColor = newPaintColor;
    }
}

下面是main.java的代码:

代码语言:javascript
复制
import java.awt.*;
import static java.awt.Color.*;

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello World");
        System.out.println("Markus");

        Car myCar = new Car (inputAverageMPG: 25.5,
        inputLicencePlate: "1BC32E",
        inputColor.BLUE,
        inputAreTaillightsWorking: true);

        Car sallyCar = new Car (inputAverageMPG: 13.9,
                inputLicencePlate: "3D20BN",
                inputColor.BLACK,
                inputAreTaillightsWorking: false);

        System.out.println("My Car's licence plate: " +myCar.licencePlate);
        System.out.println("Sally's Car's licence plate: " +sallyCar.licencePlate);

    }
}

很抱歉,如果这个问题表达得不好,我仍然不知道所有的技术术语都能很好地解释这个问题。

EN

回答 2

Stack Overflow用户

发布于 2020-09-22 16:48:11

这是对构造函数/方法的无效调用:

代码语言:javascript
复制
Car myCar = new Car(inputAverageMPG: 25.5,
inputLicencePlate: "1BC32E",
inputColor.BLUE,
inputAreTaillightsWorking: true);

取而代之的是:

代码语言:javascript
复制
Car myCar = new Car(25.5, "1BC32E",  ...
票数 1
EN

Stack Overflow用户

发布于 2020-09-22 16:51:03

代码语言:javascript
复制
new Car(inputAverageMPG: 25.5,
    inputLicencePlate: "1BC32E",
    inputColor.BLUE,
    inputAreTaillightsWorking: true);

这是不对的。Java没有这样的命名参数。

问题是你使用的是IntelliJ IDEA,它给你提供了参数提示。它看起来像这样:

如果仔细观察,可以看到参数名称是以另一种字体绘制的。

不幸的是,这个特性给新手带来了很多困惑。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64006134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档