未找到主要 class - Netbeans
No main class found - Netbeans
我知道关于这个问题还有很多其他主题,我已经阅读了很多,其中很多 none 似乎有所帮助。我是 Java 的新手,所以我觉得我可能遗漏了一些简单的东西。如果我使用 "Clean and Build" 没有错误,但是作为
一旦我尝试 运行 或调试代码,我就会得到一个 "No main class found."
如果我将 "Public Void Main" 和 "Public Void IsPrime" 更改为包含 "Static",则会出现 "non-static variable factor cannot be referenced from a static context" 错误。
任何人都可以提供任何指导吗?
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);
}
}
尝试将 factor
变量更改为这样的 static
public static long factor;
变量。
并替换此 for
循环:
for(j = 0; j <= factors.size(); j++){
使用 <
而不是 <=
因为 ArrayList 的大小从 0
到 size-1
:
for(j = 0; j < factors.size(); j++){
我知道关于这个问题还有很多其他主题,我已经阅读了很多,其中很多 none 似乎有所帮助。我是 Java 的新手,所以我觉得我可能遗漏了一些简单的东西。如果我使用 "Clean and Build" 没有错误,但是作为 一旦我尝试 运行 或调试代码,我就会得到一个 "No main class found."
如果我将 "Public Void Main" 和 "Public Void IsPrime" 更改为包含 "Static",则会出现 "non-static variable factor cannot be referenced from a static context" 错误。
任何人都可以提供任何指导吗?
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);
}
}
尝试将 factor
变量更改为这样的 static
public static long factor;
变量。
并替换此 for
循环:
for(j = 0; j <= factors.size(); j++){
使用 <
而不是 <=
因为 ArrayList 的大小从 0
到 size-1
:
for(j = 0; j < factors.size(); j++){