任意长的整数乘法运算
【问题描述】
设计一个程序实现两个任意长的整数的乘法运算。
【基本要求】
设计一个实现任意长的整数进行乘法运算的演示程序。要求输入和输出每四位一组,组间用逗号隔开。如:1,0000,0000,0000,0000。
【实现说明】
可以用顺序表、单链表、循环单链表、双向链表、循环双向链表或者各种栈去表示长整数,其中 每个元素可以是字符、1位整数或分组的整数(4位一组),用单向链表表示时,可以采用低位在前,输出时再用个栈,进行输出。请问:如何实现把用户输入的数字(逗号分段)存储到链表当中?

解决方案 »

  1.   


    String s1="10,1203,0524,2257";
    String s2="29,1020,1350,3365";

    long l1=Long.parseLong(s1.replaceAll(",", ""));
    long l2=Long.parseLong(s2.replaceAll(",", ""));

    String s3=String.valueOf(l1*l2);
    String s4="";

    for (int i=s3.length();i>=0;i=i-4){
    if (i-4>0){
    s4=s3.substring(i-4,i)+","+s4;
    }else{
    s4=s3.substring(0,i)+","+s4;
    }
    }

    if (s4.endsWith(",")){
    s4=s4.substring(0, s4.length()-1);
    }

    System.out.println(s4);
      

  2.   

    并且这里是要求任意长度整数,可以转换成long型应该就不是任意长度了吧?还是我对题目理解有错?
      

  3.   

    很简单,用字符串处理函数截取出一个个的字符串,然后再放入你要存的链表即可。。任意长度不能理解为long,要把输入的数字拆开成几部分,然后再分别运算的结果相加