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
相关产品推荐
相关产品推荐

