Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
package ProjectEuler21;
import java.math.BigInteger;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
}
public static BigInteger berechneSummer(int max) {
var result = BigInteger.ZERO;
var temp = BigInteger.ZERO;
var list = new ArrayList<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
package ProjectEuler21;
import java.math.BigInteger;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
}
public static BigInteger berechneSummer(int max) {
var result = BigInteger.ZERO;
var temp = BigInteger.ZERO;
var list = new ArrayList<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.
Java:
BigInteger valueA = new BigInteger(5);
BigInteger valueB = new BigInteger(10);
BigInteger valueC = valueA.add(valueB);
package ProjectEuler21;
import java.math.BigInteger;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
}
public static BigInteger berechneSummer(int max) {
var result = BigInteger.ZERO;
var temp = BigInteger.ZERO;
var list = new ArrayList<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.