文字を整数、文字列に変換するための投稿はすべてBigInteger
-s、int
-s〜BigInteger
-sなどですが、これはなぜわかりません作業。文字を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)));
}
}
私はScanner
とBigInteger
輸入を持っています。入力されたデータは、このような数字、とのラインで構成されています7218904932283439201 \ n7218904932283439201 ...
私が正しく理解していれば、BigInteger
-sの加算は次のように記述する必要があります。両方の数字はタイプBigInteger
であるbigInteger1.add(bigInteger2)
、。だからタイプchar
のその文字をタイプint
に変換し、そのint
の値をBigInteger
に変換して、BigInteger.valueOf()
のメソッドをint
とする必要があります。
私は取得していますエラーは以下の通りです:誰もが私の間違いを指摘することができれば、私は感謝して、私が間違っている可能性がどこincompatible types: int cannot be converted to BigInteger
私は見ていないのです。
のBigIntegerがオブジェクトであるため、 'のBigInteger合計は= 0 '法的ではありません。 –
十分な注意を払っていないのは間違っています。 Javaコンパイラは何が間違っているかを伝えるのに本当に良いです。それは読者の側でのみ規律を取る。意味:単語ごとにコンパイラのメッセージを読む。最も重要なこと:それが指している行番号に注意を払うこと。その行のコードを単語ごとに読みます。エラーメッセージをもう一度読んでください。あなたの例のように:問題は文字に関するものと仮定しないでください。メッセージがBigInteger sum = 0の行を明確に指摘しているので... – GhostCat