首页 > 解决方案 > 我需要帮助!我一直在尝试编写一个 Java 程序,该程序将打印出由用户输入确定的给定数字的最大素数

问题描述

到目前为止,这是我的代码,但我遇到了麻烦。我试图创建一个包含所有主要因素的数组并打印数组的最后一个索引,但我无法确定数组的长度。我做这一切都错了吗?有没有更好的方法?(堆栈溢出的新手)(还在学习java)。

import java.util.*;
public class Main
{
    public static void main(String [] args)
    {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt(); //Given Number
        sc.close();
        int n = 0;
        int [] PrimeFactors = new int[num];
        for(int i = 1; n < PrimeFactors.length; i++)
        {
            if(checkPrime(i) == false && num % i == 0)
            {
                PrimeFactors[n] = i;
                n++;
            }
        }
        
        System.out.println(PrimeFactors[PrimeFactors.length - 1]);
    }
    
    public static boolean checkPrime(int a)
    {
        boolean bool = false;
        if(true)
        {
            for(int i = 2; i <= a / 2; i++)
            {
                if(a % i == 0)
                {
                    bool = true;break;
                }
            }
        }
        return bool;
    }
}

标签: javaprimes

解决方案


推荐阅读