packageProjectEuler21;importjava.math.BigInteger;importjava.util.ArrayList;publicclassMain{publicstaticvoidmain(String[] args){}publicstaticBigIntegerberechneSummer(int max){var result =BigInteger.ZERO;var temp =BigInteger.ZERO;var list =newArrayList<Integer>();for(var i =1; i < max; i++){for(var j =1; j < i; j++){if(i % j ==0){
list.add(i / j);}}for(int k =0; k < list.size(); k++){
temp +=BigInteger.valueOf(list.get(k));}}return result;}}
Hallo,
weiß irgendwer wieso in Zeile 22 ein Fehler angezeigt wird. Also ich habe bei Oracle geschaut und eigentlich addiert man einen BigInteger so, wie ich es getan habe
packageProjectEuler21;importjava.math.BigInteger;importjava.util.ArrayList;publicclassMain{publicstaticvoidmain(String[] args){}publicstaticBigIntegerberechneSummer(int max){var result =BigInteger.ZERO;var temp =BigInteger.ZERO;var list =newArrayList<Integer>();for(var i =1; i < max; i++){for(var j =1; j < i; j++){if(i % j ==0){
list.add(i / j);}}for(int k =0; k < list.size(); k++){
temp +=BigInteger.valueOf(list.get(k));}}return result;}}
Hallo,
weiß irgendwer wieso in Zeile 22 ein Fehler angezeigt wird. Also ich habe bei Oracle geschaut und eigentlich addiert man einen BigInteger so, wie ich es getan habe
Wie kommst du zu dieser Annahme? BigIntegers sind Objekte, es gibt keine Operatoren die Objekte als Parameter uebernehmen (ja, auszer String + String und String + Object.
Alle Numbers Objekte sind unveraenderlich, und deren Methoden erzeugen immer neue Objekte bei Veraenderungen.
packageProjectEuler21;importjava.math.BigInteger;importjava.util.ArrayList;publicclassMain{publicstaticvoidmain(String[] args){}publicstaticBigIntegerberechneSummer(int max){var result =BigInteger.ZERO;var temp =BigInteger.ZERO;var list =newArrayList<Integer>();for(var i =1; i < max; i++){for(var j =1; j < i; j++){if(i % j ==0){
list.add(i / j);}}for(int k =0; k < list.size(); k++){
temp +=BigInteger.valueOf(list.get(k));}}return result;}}
Hallo,
weiß irgendwer wieso in Zeile 22 ein Fehler angezeigt wird. Also ich habe bei Oracle geschaut und eigentlich addiert man einen BigInteger so, wie ich es getan habe
BigInteger ist kein primitiver typ deswegen zeigt er dir da einen Fehler an.
Der Grund warum das bei Long und Integer etc. klappt ist der, dass diese eine Wrapper-Klasse eines primitiven typs sind und java so schlau ist das für dich zu übernehmen.
Bei BigInteger oder auch bei BigDecimal etc. schaut das ganze anders aus.
Der Grund warum das bei Long und Integer etc. klappt ist der, dass diese eine Wrapper-Klasse eines primitiven typs sind und java so schlau ist das für dich zu übernehmen.