Java 表示数字的数据类型的类型

Java 表示数字的数据类型的类型,java,Java,我有一些方法来计算任何数字中的最大素因子,但它不会编译,因为它说我的输入超出了范围 public class ProjectEuler3 { public static void main(String[] args) { System.out.println (findfactors(600851475143)); } public static float findfactors(long n){ long[]factors=new

我有一些方法来计算任何数字中的最大素因子,但它不会编译,因为它说我的输入超出了范围

public class ProjectEuler3 {


    public static void main(String[] args) {
    System.out.println  (findfactors(600851475143));
    }


    public static float findfactors(long n){
        long[]factors=new long[1000];int nooffactor=0;
        int c =0;
        for( long i=2;i<n;i++){
                if (findPrime(i)){
                factors[c++]=i;
            nooffactor++;}

        }

        return factors[nooffactor-1];


    }
    public static boolean findPrime(float n){

        for(long i=2;i<n;i++){
            if(n%i==0)
                return false;
        }
        return true;
    }

}
用L对值进行后缀,以表示long类型的常数:

用L对值进行后缀,以表示long类型的常数:


如果在代码中输入数字,它们将被视为整数值。但是,600851475143大于整数所能容纳的值。因此,必须附加一个L以将其标记为long int:


FindFactor600851475143L

如果在代码中输入数字,它们将被视为整数值。但是,600851475143大于整数所能容纳的值。因此,必须附加一个L以将其标记为long int:


FindFactors 600851475143L

您可能还想查看,因为您可能想将更大的数字作为因子

您可能还想查看,因为您可能想将更大的数字作为因子

findfactors(600851475143L)