java - 我试图从数组列表中删除所有素数,但没有打印任何内容?

标签 java arrays

我是个新手,所以对于任何愚蠢的错误我深表歉意。

代码如下:

    public static void keepOnlyCompositeNumbers( List<Integer> nums ){

    int num=0;
    boolean isPrime=true;
    for(int i=0; i<nums.size(); i++){
        num=nums.get(i);
        {
            for (int o = 2; o < num; ++i)
            {
                if (num % o == 0){
                    isPrime=false;
                    o=2;        
                    if(isPrime==true){
                                nums.remove(num);
                            }
                }


            }


}

以及运行者类:

    Integer[] nums = {2,6,8,9,10,12,13,15,17,24,55,66,78,77,79};
    List<Integer> list = new ArrayList<Integer>( Arrays.asList(nums) );

    System.out.println( list );
    ArrayListFunHouse.keepOnlyCompositeNumbers( list );
    System.out.println( list );

没有打印任何内容。有人可以告诉我我做错了什么吗?我已经被难住有一段时间了。任何帮助,将不胜感激。谢谢!

最佳答案

更高效的 checkPrime

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

关于java - 我试图从数组列表中删除所有素数,但没有打印任何内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27518287/

相关文章:

java - 使用 java 连接到 DB,无需外部 jar - 有这样的事情吗?

python - 如何递归地将项目添加到列表中?

JavaFX TitledPane 删除鼠标悬停

java - 如何判断是否是文件?

java - 如何将 swing JTextField 组件转换为扩展它的类型的对象

java - 在 Java 中打印数组

c++ - 在 C++ 中打印数组的元素,以及变量的内部与外部初始化

c - 指针指向不同的数据类型

ios - 当数组中的 ""为空时打开 UIAlertViewController

java - 通过组合进行类型转换(接口(interface)和类)