链表实现任意长整数乘法运算

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

请问:如何实现把用户输入的数字(逗号分段)存储到链表当中?
...全文
336 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ps288 2010-12-23
  • 打赏
  • 举报
回复
很简单,用字符串处理函数截取出一个个的字符串,然后再放入你要存的链表即可。。

任意长度不能理解为long,要把输入的数字拆开成几部分,然后再分别运算的结果相加
cfanat1 2010-12-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 baobao28 的回复:]

Java code

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

long l1=Long.parseLong(s1.replaceAll(",", ""));
long l2=Long.parseLong(s2.replaceAll(",", ""……
[/Quote]
并且这里是要求任意长度整数,可以转换成long型应该就不是任意长度了吧?还是我对题目理解有错?
Jlins 2010-12-23
  • 打赏
  • 举报
回复
恩[Quote=引用 1 楼 baobao28 的回复:]

Java code

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

long l1=Long.parseLong(s1.replaceAll(",", ""));
long l2=Long.parseLong(s2.replaceAll(",", ""……
[/Quote]
cfanat1 2010-12-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 baobao28 的回复:]

Java code

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

long l1=Long.parseLong(s1.replaceAll(",", ""));
long l2=Long.parseLong(s2.replaceAll(",", ""……
[/Quote]
您好!这样没用到链表,我需要使用链表。
baobao28 2010-12-23
  • 打赏
  • 举报
回复

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);

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧