Ich bin auf diesem Code arbeiten, die große Zahlen verwenden:Java - Lange Liste ERROR: inkompatible Typen
import java.math.*;
import java.util.*;
import java.lang.*;
public class main {
public static void main(String[] args){
double max = 1e+15;
List<Integer> sum = new ArrayList<Integer>();
sum.add(1);
long aux = 0;
for(long i = 1;i<max;i++){
sum.add(sum.get(i-1)+scomponi(sum.get(i-1),aux));
if(i+1==1e+7 || i+1==1e+8 || i+1==1e+9 || i+1 == 1e+10 || i+1 == 1e+10 || i+1==1e+11 || i+1==1e+12 || i+1==1e+13 || i+1==1e+14)
System.out.println(i+1+"-imo -> "+sum.get(i));
}
System.out.println(sum.get(sum.size()-1));
}
public static Long scomponi(Long num,Long tot) {
while (num > 0) {
Long digit = num % 10;
tot += digit;
num /= 10;
}
return tot;
}
}
Aber ich bin nicht in der Lage, eine Lösung für diesen Fehler zu finden:
Was bedeutet das? Ich bin nicht wirklich gut in Java, aber das ist so einfach Code, was ist los?
Wie dieser Fehler Sie gesagt, Sie sind eine lange anstelle eines int in der get-Methode. Dies bedeutet, dass Java Ihre Länge abschneiden müsste, wenn der Wert höher als das int-Limit ist. So hat es dir gesagt, es gibt einen Fehler – AxelH
1e + 15 >>> 2147483647 .. Ich kann Int nicht verwenden, so kann ich nicht verwenden Listen..Thnak Sie – Teshtek
Array sind Integer basierend auf glaube ich;) Sie müssten also einige finden Tricks (wie mehrere Listen). Aber warum so viel? Die Erinnerung wäre genug? – AxelH