You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BlueJ中无法创建Project类对象,遇'; expected'错误求助

解决BlueJ中创建Project对象时的"; expected"错误

我来帮你排查这个问题!先从代码和BlueJ操作两方面梳理,大概率是创建对象时的参数输入格式出了问题:

1. 核心问题:BlueJ创建对象的参数输入错误

你的代码本身没有语法错误(只是Version成员变量未初始化,但这不会导致创建对象时报分号错误),报错的关键原因是在BlueJ输入构造函数参数时,字符串没有用双引号包裹。

在BlueJ里创建对象的正确操作步骤:

  • 右键点击Project类,选择new Project(...)
  • 在弹出的参数输入框中,严格按照参数类型输入:
    • 第一个参数(项目名称):必须用双引号包裹字符串,比如 "E-commerce App"
    • 第二个参数(截止日期):同样用双引号包裹,比如 "2024-12-15"
    • 第三个参数(成本):直接输入数字,比如 9500.75

如果不给字符串加双引号,BlueJ会把它当成未定义的变量,自然就会抛出"; expected"的错误。

2. 代码优化建议(可选但更规范)

虽然不影响当前问题的解决,但可以让代码更符合Java规范,可读性更强:

  • 成员变量遵循驼峰命名法:把Name改成name,Version改成version,和构造函数参数区分开
  • 给version添初始化逻辑,比如在构造函数里设默认值
  • display()方法用System.out.println()代替print(),让每条信息单独换行

优化后的代码示例:

public class Project {
    String name;
    String deadline;
    String version;
    double cost;

    public Project(String name, String deadline, double cost) {
        this.name = name;
        this.deadline = deadline;
        this.cost = cost;
        this.version = "1.0"; // 给版本号设默认值
    }

    public void display() {
        System.out.println("Name of project is: " + this.name);
        System.out.println("Deadline of the project is: " + this.deadline);
        System.out.println("Version of the project is: " + this.version);
        System.out.println("Cost of the project is: Rs." + this.cost);
    }
}

3. 验证操作

修改代码(或保持原代码)后重新编译,再右键选择new Project(String, String, double),输入格式正确的参数:

"Student Management System", "2024-11-30", 12000.0

点击OK就能成功创建对象,之后右键对象选择display()即可调用方法。

内容的提问来源于stack exchange,提问作者Santosh Subedi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 00:07:49