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

Java程序报错:类缺少接收String[]的static void main方法求助

解决Java程序中"This class does not have a static void main method accepting String[]"错误

嘿,别着急!这个错误绝对是Java新手最常碰到的“入门坎”之一,我来一步步帮你搞定它😉

为什么会出现这个错误?

Java程序要能被JVM(Java虚拟机)运行,必须要有一个固定格式的入口方法——也就是public static void main(String[] args)。JVM启动程序时,会直接找这个方法作为执行的起点,要是你的类里没有它,就会抛出这个错误。

怎么修改你的代码?

看你贴的代码,你的BankAccount类目前只有成员变量(Scanner、name、还有没写完的double类型变量),但缺少这个关键的入口方法。我帮你补全并修改了代码,你可以参考:

import java.util.Scanner; 

public class BankAccount { 
    private Scanner in = new Scanner(System.in); 
    private String name; 
    private double balance; // 补全你截断的余额变量,假设你需要这个
    
    // 可选:添加构造方法,方便初始化账户信息
    public BankAccount(String accountName, double initialBalance) {
        this.name = accountName;
        this.balance = initialBalance;
    }

    // 示例:添加存款方法,让类有实际功能
    public void deposit(double amount) {
        if (amount > 0) {
            balance += amount;
            System.out.println("存款成功!当前余额:" + balance);
        } else {
            System.out.println("存款金额不能为负数哦!");
        }
    }

    // 重点!必须添加的程序入口方法
    public static void main(String[] args) {
        // 因为main是静态方法,要调用类里的非静态成员,得先创建类的实例
        BankAccount myAccount = new BankAccount("RhinoPak", 500.0);
        
        // 测试存款功能
        myAccount.deposit(200.0);
        
        // 你还可以在这里加更多测试代码,比如取款、查询余额等
    }
}

几个关键知识点要记牢:

  • public:这个方法要能被JVM访问到,所以必须是公共的。
  • static:静态方法属于类本身,不需要创建对象就能被调用,JVM启动时直接调用它,所以必须加static。
  • void:main方法不需要返回任何值。
  • String[] args:用来接收命令行参数的数组,哪怕你不用它,也必须写上,这是Java的语法规定。

在Dr.Java里怎么操作?

把修改后的代码粘贴到Dr.Java的编辑器里,保存文件(文件名要和类名一致,也就是BankAccount.java),然后点击顶部的Run按钮,程序就能正常运行啦!

如果你的BankAccount只是用来定义账户属性和行为的“实体类”,也可以把main方法放到另一个单独的测试类里(比如BankAccountTest.java),不过对于学校作业来说,直接在BankAccount里加main方法是最直接方便的方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:57:42