Java while循环异常

时间:2014-02-04 00:08:40

标签: java

我的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

2 个答案:

答案 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[...] )