为什么乘法的结果是负数?我试图将两个字符串相乘

时间:2019-05-26 03:34:47

标签: java

我正在尝试用Java编写一段代码。我在其中一个测试案例中遇到问题。在这里,我试图将两个字符串相乘。我知道我给出的测试用例是结果长时间溢出,这就是为什么结果是负数的原因。我只想在这种方法中进行建议或对此方法进行可能的修改。我的输入是“ 498828660196”     “ 840477629533”

my input is "498828660196"
"840477629533"


class Solution {
    public String multiply(String num1, String num2) {
      //  System.out.println(getNumber(num1));

       long r = (long)((getNumber(num1)*(getNumber(num2))));
      //  System.out.println(r);
        return ""+r;

    }

    public static long getNumber(String number) {
      double result = 0;A=
    for (int i = 0; i < number.length(); i++) {
        result = result * 10 + (double)number.charAt(i) - '0';
    }
    return (long)result;
      }
}

0 个答案:

没有答案