Karakterleri tamsayıya çeviren yayınların tümü için BigInteger
-s, int
-s - BigInteger
-s dizinlerinin tamamının bulunduğunu biliyorum, ancak bunun neden olmadığını anlayamıyorum iş.Karakteri BigInteger konumuna dönüştürün
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)));
}
}
Ben Scanner
ve BigInteger
ithal var. giriş verileri bu gibi sayılarla hatlarının inşa edilmiştir:
Eğer doğru anlamak
,BigInteger
-s için ilave böyle yazılmalıdır 7218904932283439201 ... n7218904932283439201 \: Her iki numaralar tip
BigInteger
vardır
bigInteger1.add(bigInteger2)
. Bu nedenle,
char
türünün bu karakterini
int
yazıp
int
değerini
BigInteger
değerini yöntemine dönüştürmeliyim; bu yöntem
int
argümanını alır.
alıyorum hatadır aşağıdaki: herkes hatamı işaret olabilir ben takdir ediyorum bu yüzden yanlış olabilir nereye incompatible types: int cannot be converted to BigInteger
ben görmüyorum.
'BigInteger toplamı = 0' yasal değildir. –
Yeterli dikkat etmediğinizde yanılıyorsunuz. Java derleyicisi size neyin yanlış olduğunu söylemede gerçekten iyidir. Sadece okuyucu tarafında disiplin gerektirir. Anlamı: derleyici mesajları kelimesini kelimeye göre okuyun; en önemlisi: işaret ettiği satır numarasına dikkat edin. Daha sonra bu satırdaki kelimeyi kelimelere göre okuyun. Hata mesajını tekrar okuyun. Örneğinizde olduğu gibi: problemin karakterlerle ilgili olduğunu varsaymayın. Mesaj açıkça BigInteger toplamına = 0 satırını işaret ediyor ... – GhostCat