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

