除了这个方法还有别的方法来求他们相加吗

除了这个方法还有别的方法来求两个长整数相加吗
还是要用到getDigit()

img

引用 皆我百晓生 小程序回复内容作答:
除了使用getDigit()方法以外,还可以使用字符串相加的方法来求两个长整数相加。具体步骤如下:

  1. 将两个长整数转换成字符串,分别存储在字符串变量num1和num2中。
  2. 创建一个StringBuilder对象,用于拼接相加后的结果。
  3. 定义两个变量carry(进位)和sum(当前位的和),并将它们初始化为0。
  4. 从num1和num2的最后一位开始,逐位相加,计算sum = carry + num1的当前位 + num2的当前位。
  5. 将sum对10取模得到当前位的值,并将其转换为字符类型,追加到StringBuilder对象中。
  6. 更新carry的值,carry = sum / 10。
  7. 继续处理前一位,直到处理完所有位数。
  8. 如果carry大于0,说明最高位相加有进位,将carry转换为字符类型,追加到StringBuilder对象中。
  9. 将StringBuilder对象转换为字符串,并逆序输出。

下面是使用字符串相加的方式来求两个长整数相加的Java代码:

public class Main {
    public static void main(String[] args) {
        String num1 = "12345678901234567890";
        String num2 = "98765432109876543210";
        
        String sum = addStrings(num1, num2);
        System.out.println(sum);
    }
    
    public static String addStrings(String num1, String num2) {
        StringBuilder sb = new StringBuilder();
        int carry = 0;
        int i = num1.length() - 1;
        int j = num2.length() - 1;
        
        while (i >= 0 || j >= 0) {
            int val1 = i >= 0 ? num1.charAt(i--) - '0' : 0;
            int val2 = j >= 0 ? num2.charAt(j--) - '0' : 0;
            int sum = carry + val1 + val2;
            sb.append(sum % 10);
            carry = sum / 10;
        }
        
        if (carry > 0) {
            sb.append(carry);
        }
        
        return sb.reverse().toString();
    }
}

运行结果为:111111111111111111100。

LongIngter是个什么鬼,自定义的吧,自定义的东西不贴出来别人知道个锤锤

【以下回答由 GPT 生成】

除了使用getDigit方法,还可以使用BigInteger类来求两个长整数相加。BigInteger类提供了用于处理大数的方法和操作符。

以下是使用BigInteger类的示例代码:

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        BigInteger pl = new BigInteger("123456789");
        BigInteger p2 = new BigInteger("987654321");

        BigInteger result = pl.add(p2);

        System.out.println(result); // 输出: 1111111110
    }
}

在上述代码中,我们创建了两个BigInteger对象pl和p2,并使用add方法将它们相加得到结果result。最终打印出result的值为1111111110。

使用BigInteger类可以解决大数相加的问题,而无需使用getDigit方法。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^