易截截图软件、单文件、免安装、纯绿色、仅160KB

JAVA大数运算

有一道这样的笔试题,对于初学者可能有些难度:
用JAVA 实现算术表达式(1234324234324 + 8938459043545)/5 + 343434343432.59845
因为JAVA语言中的long 定义的变量值的最大数受到限制,例如123456789987654321这样的整数就不能存放在long类型的变量中,如果这样两个大数相加或相乘,产生的结果会更大。比如,JAVA语言中如果使用long l = 1000000000这样定义没错,但如果加上2000000000变成 1000000000+2000000000测试结果就为-1294967296, 成了负数。原因就是结果数太大,无法表示此结果数。那么怎样做才能把上述计算题给解答出来呢?
这里我们采用阵列法,比如
long  a = 123456789876
long  b = 123412341234
首先我们可以定义二个数组,分组存放这些数字
long ary_a[3];
long ary_b[3];
可以把这两个数分别分解为三个部分,每个部分都是四位,也就是:
ary_a [0] = 1234;
ary_a [1] = 5678;
ary_a [2] = 9876;
ary_b [0] = 1234;
ary_b [1] = 1234;
ary_b [2] = 1234;
接下来的事情就是进位了
来一个小点的数,比如 38 + 25 分解一下
个位相加 8+5=13 需进位 , 结果的个位为3
十位相加 1+3+2 = 6
可以得到一个规律
进位数 = 13 / 10
个位所留下来的位 = 13 % 10
程序中如下实现
public class Test1 {
public static void main(String[] args) {
int a = 38;
int b = 25;

int[] ary_a = {3, 8};
int[] ary_b = {2, 5};

int r_1 = ary_a[0] + ary_b[0];
int r_2 = ary_a[1] + ary_b[1];

/* r_1 = 5, r_2 = 13 */
System.out.println(r_1);
System.out.println(r_2);

/* 结果的进位 */
int carry = r_2 / 10;
System.out.println(carry);

/* 结果的个位 */
int g = r_2 % 10;
System.out.println(g);

/* 十位 */
int s = carry+r_1;
System.out.println(s);

/*结果为63*/
System.out.println(s+""+g);

}
}

如果是三位数,以此类推
下面给出简单示例
package com;
public class BigNumberOperation {

/*加法*/
public int[] add(int[] f, int[] s, int n) {

/*定义余数,初始为0*/
int carry = 0;

/*定义返回的数组*/
int[] c = new int[f.length];
/*遍历传入的两个数组,分别计算*/
for(int i = f.length - 1; i >= 0; i--) {


相关文档:

java视频培训教程

本人从事近10年的java开发,总结一套有效的java实战视频教程,包括:java基础、jsp培训、struts使用、hibernate使用和spring的使用,还包含大量的培训代码,以及ssh整合开发全过程。本套视频5月份就将录制完成,如果您有意请联系我,我的QQ:1429154728 ......

JAVA中的位移操作 >> >>

中小
Java中共有三个移位操作符,分别是:
<<:左移操作,所有操作数向左移动,每移一位最右边用0补充
>>:带符号位右移:连同符号位一起右移,每移一位最左边用符号位补充
>>>:无符号右移:连同符号位一起右移,每移一位最左边用0补充
移位操作符只能作用于整数类型,即byte,short,char,i ......

java jar包打包命令

jar -cvf  name.jar *.*(打包此目录下所有文件)
jar -cvf  name.jar  filename(打包此目录下单个文件helloWorld.java或文件夹)
jar -cvf name.jar filename1  filename2....(打包此目录下多个文件或文件夹)
参考: jar ......

Java配置文件读取

Java配置文件读取有各种不同的文件,但是由于打包Jar后的路径改变,往往在项目中能正确读取的配置文件在Jar后变成文件不存在的杯具,下在提出几各不同的配置文件读取方式,仅供参考
一、直接文件读取
File f = new File("you config file path");
FileReader fr = new FileReader(f);
BufferReader br = new ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号