编程题目:
70.有两个数,一个数是123789965783241232323512323676678,
另一个数是23245235435436807768829454365465889,用算法实现这两个正数的加减以及相乘。
示例代码:
package program.calculation.exercise70;
/**
* 70.有两个数,一个数是123789965783241232323512323676678,
* 另一个数是23245235435436807768829454365465889,
* 用算法实现这两个正数的加减以及相乘。
*/
public class MyBigInteger {
public static void main(String[] args) {
String str1 = "123789965783241232323512323676678";
String str2 = "23245235435436807768829454365465889";
//String str1 = "240";
//String str2 = "12";
System.out.println("两数之和:"+add(str1, str2));
System.out.println("两数之差:"+subtract(str1, str2));
System.out.println("两数之积:"+multiply(str1, str2));
}
//相加
private static String add(String str1, String str2) {
//将str1与str2的位数设为相同,不同的前面补0
if(str1.length() >= str2.length()){
for(int i=str2.length();i<str1.length();i++){
str2 = "0"+str2;
}
}else{
for(int i=str1.length();i<str2.length();i++){
str1 = "0"+str1;
}
}
int num1[] = new int[str1.length()];//大数1
int num2[] = new int[str2.length()];//大数2
int num3[] = new int[str1.length