运用JAVA中大数类实现大数的四则运算

Python019

运用JAVA中大数类实现大数的四则运算,第1张

import java.math.BigInteger

public class BigIntegerGet {

public String getAdd(String Str1,String Str2){

String Str3=new String()

BigInteger BigInt1=new BigInteger(Str1)

BigInteger BigInt2=new BigInteger(Str2)

BigInt1=BigInt1.add(BigInt2)

Str3=BigInt1.toString()

return Str3

}

public String getSubtract(String Str1,String Str2){

String Str3=new String()

BigInteger BigInt1=new BigInteger(Str1)

BigInteger BigInt2=new BigInteger(Str2)

BigInt1=BigInt1.subtract(BigInt2)

Str3=BigInt1.toString()

return Str3

}

public String getMultiply(String Str1,String Str2){

String Str3=new String()

BigInteger BigInt1=new BigInteger(Str1)

BigInteger BigInt2=new BigInteger(Str2)

BigInt1=BigInt1.multiply(BigInt2)

Str3=BigInt1.toString()

return Str3

}

public String getDivide(String Str1,String Str2){

String Str3=new String()

BigInteger BigInt1=new BigInteger(Str1)

BigInteger BigInt2=new BigInteger(Str2)

BigInt1=BigInt1.divide(BigInt2)

Str3=BigInt1.toString()

return Str3

}

}

不管是不是用JAVA,其实方法都一样,利用数组比如说长度为一千的数字,可以这个 int[] number = new int[1000]相加的思路是,首先两个数组的长度必须是一致,位数不同的话,前面补0,内存有点浪费,但是计算起来比较方便。然后让它们从0到最高位,每位进行相加并保存相应的位置上。最后一步是从0开始判断有没有大于10的数字,如果有就向前面进位(前一个加1,当前位减10),这样就可以。如果是相减,其实思路还是一样的,每位先相减,再判断是否有小于0的,如果有则向前面一位借1(前一位减1,当前位加10)如果是相乘,和上面一样,不过要注意的是进位的时候,不止进一位,比如5*6,就要向前进3位了(前一位加3,当前位减30)除就比较麻烦点,要涉及到精确度问题,得看实际需要 输出就更容易了,直接for循环数组 特别要注意的是,如果最高位有进位的时候,这个是比较容易出错的地方 思路在上面,如果实现不了请留言

一、 Java和大数据有什么关系?

大数据开发需要编程语言基础,Java是世界上应用最广泛的计算机编程语言,具有功能强大和简单易用两个特征,同时还具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。

Java具有的众多特性,特别适合作为大数据应用的开发语言,当下Hadoop以及其他大数据处理技术很多都是用Java,Java是大数据技术的主要支持言语,当下学大数据技术之前都会先学Java语言。

二、为什么要学习Java大数据技术?

学习Java的原因如下:

1、从各行业软件开发技术的生态圈来看:

(1)Java已经形成一种文化,有企业成熟的解决方案

(2)开源社区发展的强大,而Java在开源社设区占重要地位

(3)主流大数据框架hadoop、spark、HBase等离不开Java平台

2、从Java本身特性来看

(1)面向对象、跨平台,可以运行在Linux、Windows、Unix等系统上

(2)Java虚拟机发展非常成熟,在内存回收、并发处理、作为大数据和云计算平台等应用上有着不可替代的作用

3、在企业级的开发环境里,安全、稳定是硬道理,这方面Java有着不可替代的作用另外还有其它很多优秀特性如多线程、分布式、函数式编程等。

学习大数据的原因:

(1)国家将发展大数据放在了战略地位,大数据前景无限

(2)分布式存储和分布式计算框架hadoop、内存计算框架spark发展很成熟并在企业广泛部署

(3)面向对象设计思想已经发展很成熟,自底向上的设计思想函数式编程发展的也十分成熟,海量数据并发处理技术也发展很成熟,非结构化数据的处理发展也很成熟等等,并且在企业广泛部署的主流框架大数据hadoop、spark上得到体现

(4)海量数据的智能分析已被广泛应用,例如:推荐系统、金融风险预测、天气预报等等

(5)人工智能的核心学科—机器学习,其中的深度学习算法已经具备处理“海量数据训练集”的条件、硬件的海量图形处理或者海量图片处理已经具备处理条件,如GPU、TPU,甚至现在已经研发出专门的AI芯片。

根据行业预测,2021年行业在Java大数工作岗位需求将激增,其中Java大数据工程师的缺口在14万到19万人之间,Java大数据工程师实习月薪一般在8000元左右。学Java大数据,前途跟钱途兼具。