将字符转换为 BigInteger
Convert character to BigInteger
我知道有相当多的帖子将字符转换为整数,将字符串转换为 BigInteger
-s,将 int
-s 转换为 BigInteger
-s,...但是我只是想不通为什么这不起作用。
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 的加法应该这样写:bigInteger1.add(bigInteger2)
,其中两个数字都是 BigInteger
类型。所以我应该将 char
类型的字符转换为 int
类型,然后使用方法 BigInteger.valueOf()
将 int
值转换为 BigInteger
,它需要一个 [=12] =] 参数。
我收到的错误如下:incompatible types: int cannot be converted to BigInteger
我看不出我哪里错了,所以如果有人能指出我的错误,我将不胜感激。
您正在尝试将 int
文字分配给 BigInteger
对象。
BigInteger sum = 0;
改用以下内容
BigInteger sum = BigInteger.ZERO;
我知道有相当多的帖子将字符转换为整数,将字符串转换为 BigInteger
-s,将 int
-s 转换为 BigInteger
-s,...但是我只是想不通为什么这不起作用。
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 的加法应该这样写:bigInteger1.add(bigInteger2)
,其中两个数字都是 BigInteger
类型。所以我应该将 char
类型的字符转换为 int
类型,然后使用方法 BigInteger.valueOf()
将 int
值转换为 BigInteger
,它需要一个 [=12] =] 参数。
我收到的错误如下:incompatible types: int cannot be converted to BigInteger
我看不出我哪里错了,所以如果有人能指出我的错误,我将不胜感激。
您正在尝试将 int
文字分配给 BigInteger
对象。
BigInteger sum = 0;
改用以下内容
BigInteger sum = BigInteger.ZERO;