這個程序也許能滿足你的要求:
創(chuàng)新互聯(lián)公司為您提適合企業(yè)的網(wǎng)站設計?讓您的網(wǎng)站在搜索引擎具有高度排名,讓您的網(wǎng)站具備超強的網(wǎng)絡競爭力!結合企業(yè)自身,進行網(wǎng)站設計及把握,最后結合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網(wǎng)站策劃到成都做網(wǎng)站、成都網(wǎng)站設計, 我們的網(wǎng)頁設計師為您提供的解決方案。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BigInteger//定義長整型的類
{
private static final int add1Max=1000;//可計算最長位數(shù)
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("請輸入第一個長整數(shù): ");//輸入第一個長整數(shù)
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("請輸入第二個長整數(shù) : ");//輸入第二個長整數(shù)
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();//得到數(shù)1
big.setAdd2();//得到數(shù)2
char[] num1 = big.getAdd1();//相加
char[] num2 = big.getAdd2();//相減
int len1 = big.getLen1();
int len2 = big.getLen2();
System.out.println();
System.out.println("第一個長整數(shù)的長度是: " + len1);
System.out.println("第二個長整數(shù)的長度是: " + len2);
big.add(num1,num2);
System.out.println();
}
}
運行結果如下:
請輸入第一個長整數(shù): 222222222222222222222222222222222222222222555555555555555555555555
請輸入第二個長整數(shù) : 88888888888888888888888888888888888888899999999999999999999999999
第一個長整數(shù)的長度是: 66
第二個長整數(shù)的長度是: 65
相加的和為:311111111111111111111111111111111111111122555555555555555555555554
如果是一般的兩個數(shù)求和,用 long類型 初始化 就可以了~~~
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("請輸入兩個數(shù): ");
long n1,n2;
n1 = input.nextLong();
n2 = input.nextLong();
System.out.println("兩個數(shù)的和是: ");
System.out.println(n1+ n2);
}
}
運行結果:
請輸入兩個數(shù):
213152454
238547571234
兩個數(shù)的和是:
238760723688
如果兩個數(shù)很大,超出了long表示范圍,用大數(shù)BigInteger 初始化 就OK了~~~
import java.math.BigInteger;
import java.util.Scanner;
public class 大數(shù)相加 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("請輸入兩個大數(shù): ");
Scanner input = new Scanner(System.in);
BigInteger b1 = input.nextBigInteger();
BigInteger b2 = input.nextBigInteger();
System.out.println("兩個大數(shù)的和是: ");
System.out.println(b1.add(b2));
}
}
運行結果:
請輸入兩個大數(shù):
236547625754751312371
1237527547543547124751254
兩個大數(shù)的和是:
1237764095169301876063625
望采納~~~~~~~~~~
用Java求出一個整數(shù)的各位數(shù)字之和:先算出這個整數(shù)的位數(shù),再取到一個整數(shù)的個位十位百位等等等,然后求和。如下:
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++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。
Java具有簡單性、面向?qū)ο蟆⒎植际?、健壯性、安全性、平臺獨立與可移植性、多線程、動態(tài)性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應用程序等。