找不到主要课程 - Netbeans

时间:2016-05-17 04:13:27

标签: java netbeans static main

我知道在这个问题上还有很多其他主题,我读过很多很多,但似乎都没有帮助。我是Java新手,所以我觉得也许我错过了一些简单的东西。如果我使用"清洁和构建"没有错误,但是 当我尝试运行或调试代码时,我得到了一个"没有找到主要类。"

如果我更改" Public Void Main"和#34; Public Void IsPrime"包含"静态",然后我给出"非静态变量因子不能从静态上下文引用"错误。

任何人都可以提供任何指导吗?

public class LargestPrime {

/**
 *
 */
public long factor;
 /**
 * @param args the command line arguments
 */
public static void main(String[] args){
    double var, sqvar;
    var = 600851475143L;
    sqvar = Math.sqrt(var);
    ArrayList<Long> factors = new ArrayList<>();
    long i = 1;

    while(i <= sqvar){
        if (var % i == 0){
            if(i % 2 != 0 ){
                factors.add(i);
            }
        }
        i = i + 2;
    }

    ArrayList<Long> primes = new ArrayList<>();

    int j;
    for(j = 0; j <= factors.size(); j++){
        factor = factors.get(j);
        LargestPrime obj = new LargestPrime();
        obj.isPrime(factor);
    }

}

/**
 *
 * @param testing
 *
 */
public static void isPrime(long testing){
    testing = factor;
    System.out.println(testing);
}
 }

1 个答案:

答案 0 :(得分:0)

尝试将factor变量更改为此static变量的public static long factor;
并替换此for循环:

   for(j = 0; j <= factors.size(); j++){

使用<代替<=,因为ArrayList的大小从0size-1

 for(j = 0; j < factors.size(); j++){