什么是解决大数字串长的最佳方法?

时间:2015-10-10 06:49:48

标签: java string long-integer

我正在处理一个问题。以下代码适用于小字符串但在这种情况下我必须使用长数字。什么可能是最好的解决方案?

它给很长的字符串带来错误,所以如何解决最好的方法。顺便说一下它是UVA424。网上有很多解决方案。我喜欢解决问题,因此它是代码的一部分

import java.util.Scanner;

public class IntegerInquiry {

public static void main(String args[]) {
    Scanner input = new Scanner(System.in);
    long total = 0;
    while (input.hasNext()) {
        String i = input.next();
     if(i.equals("0"))  break; 

        int size = i.length();
        if(size <=100 ){
        long a = Long.parseLong(i);
        total = total+a;
        }



    }
    System.out.println(total);
 }
}

1 个答案:

答案 0 :(得分:0)

对于大数字,您可以使用BigDecimal

    Scanner input = new Scanner(System.in);
    BigDecimal bigDecimal = new BigDecimal(0);
    while (input.hasNext()) {
        String i = input.next();
        if (i.equals("0"))
            break;
        bigDecimal = bigDecimal.add(new BigDecimal(i));
    }
    input.close();
    System.out.println("BigDecimal " + bigDecimal);
    System.out.println("Long " + bigDecimal.longValue()); // caution - narrowing