java - 如何在不输出括号和逗号的情况下输出Arraylist中的数字列表?

标签 java arraylist bluej

我有以下代码用于帮助我找到 1 和用户输入的任何内容之间的素数。唯一的问题是,我必须输出没有括号和逗号的数字。我该怎么做?

    System.out.println("\nLab1la\n");
    Scanner input = new Scanner(System.in);
    System.out.println("Enter the primes upperbond ==>> ");
    final int MAX = input.nextInt();
    boolean primes[];
    primes = new boolean[MAX];

    ArrayList<Integer>PrimeFactor = new ArrayList<Integer>();
    for (int i = 2; i < MAX + 1 ; i++)
    {
        PrimeFactor.add(i); 
    }


    CompositeNumbers(PrimeFactor);
    System.out.println("COMPUTING RIME NUMBERS");
    System.out.println();
    System.out.println("PRIMES BETWEEN 1 AND " + MAX);
    System.out.print(PrimeFactor);

}

public static void CompositeNumbers(ArrayList<Integer> PrimeFactor)
{
    for (int i = 0; i < PrimeFactor.size(); i++)
    {
        if (!isPrime(PrimeFactor.get(i)))
        { 
            PrimeFactor.remove(i);
            i--;

        }
    }
}

public static boolean isPrime(int n)
{
    if(n==1)
    {
        return true;
    }
    for (int i = 2; i < n +1/2; i++)
    {
        if (n%i == 0)
        {
            return false;

        }
    }
    return true;

}

}

最佳答案

依次输出每个值即可。例如:

// TODO: Rename PrimeFactor to primeFactors to follow Java naming conventions
for (int value : PrimeFactor)
{
    System.out.print(value);
    System.out.print(" "); // Or whatever separator you want
}

(这将在末尾输出一个额外的空格;摆脱它稍微繁琐,但不太难......)

或者使用像 Guava 的 Joiner 这样的东西类:

System.out.println(Joiner.on(' ').join(PrimeFactor));

关于java - 如何在不输出括号和逗号的情况下输出Arraylist中的数字列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29424788/

相关文章:

java - 垃圾收集器使用 2 个 WeakHashMaps

java - 如何读取文件,然后将每个文件整数分配给数组列表?

java - 在 Arraylist 中获取 Arraylist 中的项目

java - 为拍卖创建构造函数,该构造函数生成一个包含先前未售出商品的 ArrayList 的对象

java - 访问扩展类方法

使用 OSX 10.9 构建的 Java 7 应用程序在 OSX 10.7.5 上崩溃

Java程序无限循环,没有任何错误信息

java - Arrays.asList 返回类型不匹配混淆

java - 选择 X 类 ArrayList 的不同字段

java - 在Java中调用多维数组的更好方法是什么?