Ich weiß, dass es ganz für alle Beiträge ist Zeichen auf ganze Zahlen, Strings BigInteger
-s, -s int
zu BigInteger
-s Umwandlung, ... aber ich kann einfach nicht herausfinden, warum dies nicht der Fall ist Arbeit.Convert Charakter BigInteger
Scanner sc = new Scanner(System.in);
BigInteger sum = 0;
String line = "";
while (sc.hasNext()) {
line = sc.next();
for (char character: vrstica.toCharArray()) {
sum = sum.add(BigInteger.valueOf(Character.getNumericValue(character)));
}
}
ich habe Scanner
und BigInteger
importiert. Die Eingangsdaten werden mit einer Anzahl von Linien aufgebaut, wie folgt aus: 7218904932283439201 \ n7218904932283439201 ...
Wenn ich das richtig verstanden, zusätzlich für BigInteger
-s sollte wie folgt geschrieben werden: bigInteger1.add(bigInteger2)
, wobei beide Zahlen sind vom Typ BigInteger
. Also soll ich diesen Charakter vom Typ umwandeln char
int
eingeben und dann konvertieren, dass int
Wert BigInteger
mit Methode BigInteger.valueOf()
, die ein int
Argument.
Der Fehler, den ich bekommen habe ist folgendes: incompatible types: int cannot be converted to BigInteger
Ich sehe nicht, wo ich falsch sein könnte, so würde ich schätzen, wenn jemand meinen Fehler hinweisen könnte.
'BigInteger sum = 0 'ist nicht zulässig, da BigInteger ein Objekt ist. –
Sie liegen falsch, wenn Sie nicht genug Aufmerksamkeit schenken. Der Java-Compiler ist wirklich gut darin, Ihnen zu sagen, was falsch ist. Es erfordert nur Disziplin auf der Leserseite. Bedeutung: Lesen Sie die Compiler-Nachrichten Wort für Wort; Am wichtigsten: Achten Sie auf die Zeilennummer, auf die es zeigt. Dann lesen Sie den Code auf dieser Zeile Wort für Wort. Lesen Sie die Fehlermeldung erneut. Wie in Ihrem Beispiel: Nehmen Sie nicht an, dass das Problem auf Zeichen beruht. Da die Nachricht eindeutig auf die BigInteger-Summe = 0-Linie hinweist ... – GhostCat