java - Dr. Java 中的多个类
问题描述
JDK编译器说它可以编译,但是当它运行时我得到这个错误:
静态错误:此类没有接受 String[] 的静态 void main 方法。
我习惯于将我的方法类放在一个文件中,并将主类放在一个单独的文件中。
我该如何解决这个问题?
import java.util.Scanner;
public class Test{
private final int classSize = 35;
private int numEnrolled, numNeeded;
public void Input(){
Scanner in = new Scanner(System.in);
System.out.println("Enter the amount enrolled in your class");
numEnrolled = in.nextInt();
System.out.println("Your input is " + numEnrolled);
// Other parts of code that needs to be coded
}
}
class testRunner{
static void main(String args[]){
Test newTest = new Test();
newTest.Input();
}}
解决方案
- 在一个文件中,您只能有一个公共类和多个非公共类
- 您的文件名必须与唯一的公共类匹配
- 为了使您的类可运行,它应该包含一个公共静态 void main(String args[])方法,最好在公共类中
你的 TestRunner.java 应该是这样的
class Test{
private final int classSize = 35;
private int numEnrolled, numNeeded;
public void Input(){
Scanner in = new Scanner(System.in);
System.out.println("Enter the amount enrolled in your class");
numEnrolled = in.nextInt();
System.out.println("Your input is " + numEnrolled);
// Other parts of code that needs to be coded
}
}
public class TestRunner{
public static void main(String args[]){
Test newTest = new Test();
newTest.Input();
}}
编辑:如果您想保留文件名 Test.java,这也可以:
public class Test {
private final int classSize = 35;
private int numEnrolled, numNeeded;
public void Input() {
Scanner in = new Scanner(System.in);
System.out.println("Enter the amount enrolled in your class");
numEnrolled = in.nextInt();
System.out.println("Your input is " + numEnrolled);
// Other parts of code that needs to be coded
}
}
class TestRunner {
public static void main(String args[]) {
Test newTest = new Test();
newTest.Input();
}
}
推荐阅读
- python - 如何避免在 python 中出现内存错误?
- go - 如何从 Go 中的 Dynamo DB 获取属性值?
- apache - apache 的 XAMPP 问题
- python-3.x - 如何构建 Python 不区分大小写的集合?
- odoo - 如何在 Odoo13 中获取交易参考
- algorithm - 如何计算这个基本求和算法的时间复杂度?
- reactjs - 通过 react-three-fiber 中的道具传递纹理的 URL
- javascript - Javascript - 利息计算器不断返回未定义的输出
- c - 从 C 中的多个值创建地址
- ios - 我如何为我的按钮创建一个约束,所以它不会弄乱它的大小