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://scyanting.com/article/ddipdjg.html