重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

java整数相加代码 java整数加小数

用Java编写 任意长的整数加法

这个程序也许能满足你的要求:

创新互联公司为您提适合企业的网站设计 让您的网站在搜索引擎具有高度排名,让您的网站具备超强的网络竞争力!结合企业自身,进行网站设计及把握,最后结合企业文化和具体宗旨等,才能创作出一份性化解决方案。从网站策划到成都做网站、成都网站设计, 我们的网页设计师为您提供的解决方案。

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

public class BigInteger//定义长整型的类

{

private static final int add1Max=1000;//可计算最长位数

private static final int add2Max=1000;//同上

private char[] add1 = new char[add1Max];

private char[] add2 = new char[add1Max];

private int len1;

private int len2;

public void setAdd1() throws IOException

{

int i=0;

String sLine1;

System.out.print("请输入第一个长整数: ");//输入第一个长整数

BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

sLine1=in.readLine();

for(;isLine1.length();i++)

add1[i]=sLine1.charAt(i);

for(i=0;iadd1Max;i++)//len1=add1.length()

{

if(add1[i]!='\0')

len1++;

}

}

public void setAdd2() throws IOException

{

int i=0;

String sLine2;

System.out.print("请输入第二个长整数 : ");//输入第二个长整数

BufferedReader in2 = new BufferedReader(new InputStreamReader(System.in));

sLine2 = in2.readLine();

for(i=0;isLine2.length();i++)

add2[i]=sLine2.charAt(i);

for(i=0;iadd2Max;i++)//len2=add2.length()

{

if(add2[i]!='\0')

len2++;

}

}

public char[] getAdd1()

{

return add1;

}

public char[] getAdd2()

{

return add2;

}

public int getLen1()

{

return len1;

}

public int getLen2()

{

return len2;

}

public void add(char[] add1,char[] add2)//BigInteger相加方法

{

int len = Math.max(len1,len2);

int i;

char[] temp1 = new char[len];

char[] temp2 = new char[len];

char[] result = new char[len+1];

for(i=0;ilen1;i++)

temp1[len-1-i]=add1[len1-1-i];

for(i=0;ilen2;i++)

temp2[len-1-i]=add2[len2-1-i];

int m=0;

for(i=0;ilen;i++)//相加

{

if(temp1[len-1-i]!=0)

temp1[len-1-i]-=48;

if(temp2[len-1-i]!=0)

temp2[len-1-i]-=48;

m=temp1[len-1-i]+temp2[len-1-i];

if(m=10)

{

m-=10;

result[len-i]+=m;

result[len-1-i]+=1;

}

else result[len-i]+=m;

}

System.out.print("相加的和为:");//输出相加结果

i=0;

if(result[0]==0)

i=1;

for(;ilen+1;i++)

System.out.print(Integer.toString(result[i]));

}

public static void main(String[] args) throws IOException//主方法

{

BigInteger big = new BigInteger();//生成一个BigInteger对象

big.setAdd1();//得到数1

big.setAdd2();//得到数2

char[] num1 = big.getAdd1();//相加

char[] num2 = big.getAdd2();//相减

int len1 = big.getLen1();

int len2 = big.getLen2();

System.out.println();

System.out.println("第一个长整数的长度是: " + len1);

System.out.println("第二个长整数的长度是: " + len2);

big.add(num1,num2);

System.out.println();

}

}

运行结果如下:

请输入第一个长整数: 222222222222222222222222222222222222222222555555555555555555555555

请输入第二个长整数 : 88888888888888888888888888888888888888899999999999999999999999999

第一个长整数的长度是: 66

第二个长整数的长度是: 65

相加的和为:311111111111111111111111111111111111111122555555555555555555555554

java 两数相加 计算代码 给个答案呗

如果是一般的两个数求和,用 long类型 初始化 就可以了~~~

import java.util.Scanner;

public class Demo1 {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.println("请输入两个数: ");

long n1,n2;

n1 = input.nextLong();

n2 = input.nextLong();

System.out.println("两个数的和是: ");

System.out.println(n1+ n2);

}

}

运行结果:

请输入两个数:

213152454

238547571234

两个数的和是:

238760723688

如果两个数很大,超出了long表示范围,用大数BigInteger 初始化 就OK了~~~

import java.math.BigInteger;

import java.util.Scanner;

public class 大数相加 {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("请输入两个大数: ");

Scanner input = new Scanner(System.in);

BigInteger b1 = input.nextBigInteger();

BigInteger b2 = input.nextBigInteger();

System.out.println("两个大数的和是: ");

System.out.println(b1.add(b2));

}

}

运行结果:

请输入两个大数:

236547625754751312371

1237527547543547124751254

两个大数的和是:

1237764095169301876063625

望采纳~~~~~~~~~~

用Java如何求出一个整数的各位数字之和?

用Java求出一个整数的各位数字之和:先算出这个整数的位数,再取到一个整数的个位十位百位等等等,然后求和。如下:

public static int sumDig(int n)

int sum=0

if(n=10)

sum+=n%10

sum+=sumDig(n/10)

else sum+=n

return sum

Java语言特点

Java不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。


新闻名称:java整数相加代码 java整数加小数
新闻来源:http://cqcxhl.com/article/ddipdjg.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP