我的java应用程序收到此错误。我相信故障是我的数组列表的添加功能。有没有更好的方法来融入这个想法而不会过于复杂? (java的第一周)非常感谢你们!
import java.util.ArrayList;
import java.util.Scanner;
public class PrimeSieve {
public static void main(int[] args) {
System.out.println("Enter the max integer(N value): ");
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
System.out.println("Compute prime numbers from 2 to: " + num);
if(num < 2){
System.out.println("N must be greater than or equal to 2.");
}
else if(num == 2) {
System.out.println("Prime numbers: 2");
}
else {
ArrayList<Integer> myArr = new ArrayList<Integer>();
int i = 2;
while(i <= num){
myArr.add(i);
}
System.out.println(myArr);
}
}
}
错误 -
Exception in thread "main" java.lang.NoSuchMethodError: main
答案 0 :(得分:7)
将其声明为public static void main(String[] args)
这将解决它。您目前有(int[] args)
。
请注意,这不是while循环异常,它是一个错误 在运行时生成,因为找不到合适的主方法。
参见JLS 12.1.4: http://docs.oracle.com/javase/specs/jls/se7/html/jls-12.html#jls-12.1.4
答案 1 :(得分:2)
问题是主方法的签名必须是:
public static void main(String[] args)
您正在使用int[] args
,不幸的是,主要方法中不允许或不识别。{/ p>
如果您真的想将参数解释为整数,可以在需要的地方输入Integer.parseInt( args[...] )
。