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)