這個(gè)程序也許能滿足你的要求:
創(chuàng)新互聯(lián)公司為您提適合企業(yè)的網(wǎng)站設(shè)計(jì)?讓您的網(wǎng)站在搜索引擎具有高度排名,讓您的網(wǎng)站具備超強(qiáng)的網(wǎng)絡(luò)競(jìng)爭(zhēng)力!結(jié)合企業(yè)自身,進(jìn)行網(wǎng)站設(shè)計(jì)及把握,最后結(jié)合企業(yè)文化和具體宗旨等,才能創(chuàng)作出一份性化解決方案。從網(wǎng)站策劃到成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì), 我們的網(wǎng)頁(yè)設(shè)計(jì)師為您提供的解決方案。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BigInteger//定義長(zhǎng)整型的類
{
private static final int add1Max=1000;//可計(jì)算最長(zhǎng)位數(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("請(qǐng)輸入第一個(gè)長(zhǎng)整數(shù): ");//輸入第一個(gè)長(zhǎng)整數(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("請(qǐng)輸入第二個(gè)長(zhǎng)整數(shù) : ");//輸入第二個(gè)長(zhǎng)整數(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("相加的和為:");//輸出相加結(jié)果
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();//生成一個(gè)BigInteger對(duì)象
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("第一個(gè)長(zhǎng)整數(shù)的長(zhǎng)度是: " + len1);
System.out.println("第二個(gè)長(zhǎng)整數(shù)的長(zhǎng)度是: " + len2);
big.add(num1,num2);
System.out.println();
}
}
運(yùn)行結(jié)果如下:
請(qǐng)輸入第一個(gè)長(zhǎng)整數(shù): 222222222222222222222222222222222222222222555555555555555555555555
請(qǐng)輸入第二個(gè)長(zhǎng)整數(shù) : 88888888888888888888888888888888888888899999999999999999999999999
第一個(gè)長(zhǎng)整數(shù)的長(zhǎng)度是: 66
第二個(gè)長(zhǎng)整數(shù)的長(zhǎng)度是: 65
相加的和為:311111111111111111111111111111111111111122555555555555555555555554
如果是一般的兩個(gè)數(shù)求和,用 long類型 初始化 就可以了~~~
import java.util.Scanner;
public class Demo1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("請(qǐng)輸入兩個(gè)數(shù): ");
long n1,n2;
n1 = input.nextLong();
n2 = input.nextLong();
System.out.println("兩個(gè)數(shù)的和是: ");
System.out.println(n1+ n2);
}
}
運(yùn)行結(jié)果:
請(qǐng)輸入兩個(gè)數(shù):
213152454
238547571234
兩個(gè)數(shù)的和是:
238760723688
如果兩個(gè)數(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("請(qǐng)輸入兩個(gè)大數(shù): ");
Scanner input = new Scanner(System.in);
BigInteger b1 = input.nextBigInteger();
BigInteger b2 = input.nextBigInteger();
System.out.println("兩個(gè)大數(shù)的和是: ");
System.out.println(b1.add(b2));
}
}
運(yùn)行結(jié)果:
請(qǐng)輸入兩個(gè)大數(shù):
236547625754751312371
1237527547543547124751254
兩個(gè)大數(shù)的和是:
1237764095169301876063625
望采納~~~~~~~~~~
用Java求出一個(gè)整數(shù)的各位數(shù)字之和:先算出這個(gè)整數(shù)的位數(shù),再取到一個(gè)整數(shù)的個(gè)位十位百位等等等,然后求和。如下:
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語(yǔ)言特點(diǎn)
Java不僅吸收了C++語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語(yǔ)言具有功能強(qiáng)大和簡(jiǎn)單易用兩個(gè)特征。
Java具有簡(jiǎn)單性、面向?qū)ο?、分布式、健壯性、安全性、平臺(tái)獨(dú)立與可移植性、多線程、動(dòng)態(tài)性等特點(diǎn)。Java可以編寫(xiě)桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。
網(wǎng)站名稱:java整數(shù)相加代碼 java整數(shù)加小數(shù)
文章起源:http://muchs.cn/article26/ddipdjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、微信小程序、小程序開(kāi)發(fā)、外貿(mào)網(wǎng)站建設(shè)、企業(yè)建站、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)