控制台Java程序未运行
我用java编写了一个分解程序。我在eclipse中有一个包含2个包的项目。一个只有一个类,一个我有问题的类,而另一个包中没有任何内容。 当我点击run时,什么也没发生,我也不知道为什么
以下是java代码:
package com.frostbytedev.factor;
import java.util.ArrayList;
import java.util.Scanner;
public class factor {
static ArrayList<Integer> notFactors = new ArrayList<Integer>();
static ArrayList<Integer> factors = new ArrayList<Integer>();
static int i = 0;
/**
* @param args
*/
public static void main(String[] args){
// TODO Auto-generated method stub
Initialize();
}
private static void Initialize() {
// TODO Auto-generated method stub
System.out.println("Enter a number to factor below:");
Scanner in = new Scanner(System.in);
int number = in.nextInt();
FactorNumber(number);
PrintList(Factors);
}
private static void PrintList(ArrayList<Integer> factorsToPrint) {
// TODO Auto-generated method stub
for(i=0;i<factorsToPrint.size()-1;i++){
System.out.print(factorsToPrint.get(i)+", ");
}
System.out.print(factorsToPrint.size());
}
private static void FactorNumber(int number) {
// TODO Auto-generated method stub
for(i=2;i<number/2;i++){
if(number%i==0){
FactorNumber(i);
FactorNumber(number/i);
} else {
notFactors.add(i);
}
}
if(notFactors.size()==number){
factors.add(number);
}
};
}
# 1 楼答案
右键单击项目资源管理器中的类文件,尝试运行类->;以…的身份运行->;Java应用程序
# 2 楼答案
代码中有以下错误 1) 由于i是静态的,所以代码中有一个无限循环。 2) 应设置系数,以避免重复 3) if(notFactors.size()==number/2-1)as循环以2开头。 4) 对于(int i=2;i<;=number/2;i++),它应该是<;=
这不会打印1&;数字本身也是一个因素。如果你需要它们,你可以添加到集合中
}