欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中兩個大數(shù)之間的相關(guān)運算及BigInteger代碼示例

 更新時間:2017年11月20日 10:10:09   作者:笑哼  
這篇文章主要介紹了Java中兩個大數(shù)之間的相關(guān)運算及BigInteger代碼示例,通過biginteger類實現(xiàn)大數(shù)的運算代碼,具有一定參考價值,需要的朋友可以了解下。

Java中兩個大數(shù)之間的相關(guān)運算及BigInteger兩段實例代碼,具體如下。

大數(shù)相減

import java.util.Scanner;
/*
 進行大數(shù)相減,只能對兩個正數(shù)進行相減
*/
public class BigNumber
{
	public static void main(String[] args)
	  {
		Scanner scan=new Scanner(System.in);
		String a,b;
		while (scan.hasNext())
		    {
			BigNumber big=new BigNumber();
			a=scan.nextLine();
			b=scan.nextLine();
			System.out.println(big.bigNumberSub(a,b));
		}
	}
	public String bigNumberSub(String x,String y)
	  {
		//String result=null;
		char[] a=x.toCharArray();
		char[] b=y.toCharArray();
		int lenA=a.length;
		int lenB=b.length;
		int len=lenA>lenB?lenA:lenB;
		int[] result=new int[len];
		//字符串反轉(zhuǎn)
		char[] A=new char[lenA];
		char[] B=new char[lenB];
		for (int i=0;i<lenA;i++)
		    {
			A[i]=a[lenA-i-1];
		}
		for (int j=0;j<lenB;j++)
		    {
			B[j]=b[lenB-j-1];
		}
		//判斷最終結(jié)果的正負(fù)
		char sign='+';
		if (lenA<lenB)
		    {
			sign='-';
		} else if(lenA>lenB)
		    {
			sign='+';
		} else
		    {
			for (int i=lenA-1;i>=0;i--)
			      {
				if (A[i]<B[i])
				        {
					sign='-';
					break;
				} else if(A[i]>B[i])
				        {
					sign='+';
					break;
				}
			}
		}
		//      
		int aint,bint;
		for (int i=0;i<len;i++)
		    {
			aint=i<lenA?A[i]-'0':0;
			bint=i<lenB?B[i]-'0':0;
			if (sign=='+')
			      {
				result[i]=aint-bint;
			} else 
			      {
				result[i]=bint-aint;
			}
		}
		//借位處理
		for (int j=0;j<len;j++)
		    {
			if (result[j]<0)
			      {
				result[j+1]=result[j+1]-1;
				result[j]=result[j]+10;
			}
		}
		//將結(jié)果對應(yīng)為0的位置取消掉
		StringBuilder sb=new StringBuilder();
		Boolean flag=true;
		//防止結(jié)果集中的地位出現(xiàn)0
		if (sign=='-')
		    {
			sb.append(sign);
		}
		for (int i=len-1;i>=0;i--)
		    {
			if (result[i]==0&&flag)
			      {
			} else
			      {
				sb.append(result[i]);
				flag=false;
			}
		}
		return sb.toString();
		//return result;
	}
}

結(jié)果:

在Java中,還可以通過BigInteger類來解決精度問題。

import java.util.Scanner;
import java.math.BigInteger;
/*
 進行大數(shù)相加,
*/
public class BigNumber
{
	public static void main(String[] args)
	  {
		Scanner scan=new Scanner(System.in);
		while (scan.hasNext())
		    {
			BigInteger b1=new BigInteger(scan.nextLine());
			BigInteger b2=new BigInteger(scan.nextLine());
			System.out.println(b1.add(b2));
			//System.out.println(000);
		}
	}
}

結(jié)果

接著再看一則代碼示例:

/**
 * 大數(shù)運算
 * BigInteger
 * 求91的5次方
 * 求它除以100的余數(shù)
 * 大數(shù)運算Biginteger類的方法調(diào)用
 */
package com.test1;
import java.math.*;
import java.math.BigInteger;
public class test100 {
 
  /**
   * @param args
   */
  static BigInteger k=BigInteger.valueOf(1);
  static BigInteger j=BigInteger.valueOf(91);
  static BigInteger n;
  BigDecimal l=new BigDecimal("100");
  static BigInteger m=new BigInteger("100");
  public static void main(String[] args) {
    // TODO Auto-generatedmethod stub
   
//   k=BigInteger.valueOf(1);
//   k=new BigInteger("1");
    for(int i=1;i<=5;i++){
      k=k.multiply(j);
      System.out.println(k.toString());
//     n=k.remainder(m);
      n=k.remainder(m);
      System.out.println(n.toString());
      
    }
 
  }
 
}

結(jié)果:

總結(jié)

以上就是本文關(guān)于Java中兩個大數(shù)之間的相關(guān)運算及BigInteger代碼示例的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:

java算法實現(xiàn)紅黑樹完整代碼示例

java實現(xiàn)的各種排序算法代碼示例

Java小程序計算圓周率代碼

如有不足之處,歡迎留言指出。

相關(guān)文章

  • Spring boot跨域設(shè)置實例詳解

    Spring boot跨域設(shè)置實例詳解

    這篇文章主要介紹了Spring boot跨域設(shè)置實例詳解,簡單介紹了跨域的定義,原因,使用場景及解決方案,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • 實例展示使用Java壓縮和解壓縮7z文件的方法

    實例展示使用Java壓縮和解壓縮7z文件的方法

    這篇文章主要介紹了實例展示使用Java壓縮和解壓縮7z文件的方法,用到了7-zip的開源項目7-zip-JBinding,需要的朋友可以參考下
    2015-11-11
  • mybatis Example的Criteria用法:or與isNull詳解

    mybatis Example的Criteria用法:or與isNull詳解

    這篇文章主要介紹了mybatis Example的Criteria用法:or與isNull詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java多線程 Callable、Future 和FutureTask

    Java多線程 Callable、Future 和FutureTask

    這篇文章主要介紹Java多線程中的 Callable、Future 以及FutureTask,下面文章圍繞Java多線程的相關(guān)資料展開全文詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-10-10
  • Java對象為null的問題解決

    Java對象為null的問題解決

    如果一個對象為空,但是此時我們調(diào)用它的方法,就會遇到NullPointerException問題,本文主要介紹了Java對象為null的問題解決,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • Java過濾XSS腳本攻擊詳細(xì)代碼示例

    Java過濾XSS腳本攻擊詳細(xì)代碼示例

    這篇文章主要介紹了Java過濾XSS腳本攻擊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • spring源碼閱讀--@Transactional實現(xiàn)原理講解

    spring源碼閱讀--@Transactional實現(xiàn)原理講解

    這篇文章主要介紹了spring源碼閱讀--@Transactional實現(xiàn)原理講解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Mybatis的resultMap返回map問題

    Mybatis的resultMap返回map問題

    這篇文章主要介紹了Mybatis的resultMap返回map問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Spark SQL關(guān)于性能調(diào)優(yōu)選項詳解

    Spark SQL關(guān)于性能調(diào)優(yōu)選項詳解

    這篇文章將為大家詳細(xì)講解有關(guān)Spark SQL性能調(diào)優(yōu)選項,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲
    2023-02-02
  • springboot使用定時器@Scheduled不管用的解決

    springboot使用定時器@Scheduled不管用的解決

    這篇文章主要介紹了springboot使用定時器@Scheduled不管用的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評論