Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2864
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 40
  • 用 户 组: 普通用户
  • 注册时间: 2014-09-07 22:32
文章分类

全部博文(3)

文章存档

2014年(3)

我的朋友
最近访客

分类: Java

2014-09-28 23:47:51

1.相关知识点;

对于特别大的整数,无法使用long型变量来处理大整数的加法。一种简单的处理办法就是使用数组。可以将一个大整数的各个位上的数字存放在一个数组中。那么只需将存放大整数各个位上的数字的两个数组的各个元素按照一定的算法进行加法运算,将结果存放到另一个数组中即可。

2.实验目的:

本实验的目的是让学生掌握使用数组处理大整数的加法。

3.实验目的:

声明3个int型数组:a,b,c,要求三者的长度相同。将其中的a,b初始化为大整数的表示,但大整数的数字长度必须小于数组的长度,以便保证数组a和b的首元素的值是0.将a和b的各个元素进行加法运算(需要进位时,需改变a的元素的值),结果依次存放到数组c中,输出数组c.

5.程序代码:

public class HandleLargeNumber {
 public static void main(String args[]){
  int a[]={0,9,9,7,9,4,5,6,7,2,3,4,5,6,4,7,8,9,8,7,6,9};
  int b[]={0,0,5,9,1,6,4,5,6,2,3,4,5,7,2,1,3,4,0,3,2,9};
  int c[]=new int[a.length];
  int i=0;
  int result=0;
  int k=0;
  for(i=0;i    if(a[i]!=0){
    k=i;
    break;
   }
  }
  for(i=k;i    System.out.printf("%d",a[i]);
  }
  System.out.printf("\n加上:\n");
  for(i=0;i    if(b[i]!=0){
    k=i;
    break;
   }
  }
  for(i=k;i    System.out.printf("%d",b[i]);
  }
  for(i=a.length-1;i>=0;i--){
   result=a[i]+b[i];
   if(result>=10){
    c[i]=result%10;
    a[i-1]=a[i-1]+1;
   }
   else
   c[i]=result;
  }
  System.out.printf("\n等于:\n");
  for(i=0;i    if(c[i]!=0){
    k=i;
    break;
   }
  }
  for(i=k;i    System.out.printf("%d",c[i]);
  }
 }
}
   
  
 4.程序效果实例:

阅读(966) | 评论(0) | 转发(0) |
0

上一篇:ClassRoom.java

下一篇:没有了

给主人留下些什么吧!~~