java两个数相乘 位数没有限制,请写一个高精度算法
关于判断小数点的
以下是我的代码
public static String cj2(String s1, String s2) {
char[] ch1 = s1.toCharArray();
char[] ch2 = s2.toCharArray();
ArrayList<Integer> list = new ArrayList<Integer>();
ArrayList<ArrayList<Integer>> lists = new ArrayList<ArrayList<Integer>>();
for (int i = ch1.length - 1; i >= 0; i--) {
int a = Integer.parseInt(ch1[i] + "");
// System.out.println(a);
String sum = "";
int temp = 0;
int temp1 = 0;
for (int j = ch2.length - 1; j >= 0; j--) {
int b = Integer.parseInt(ch2[j] + "");
System.out.println("a" + a + " *b" + b + " =" + a * b);
list.add(a * b);
if (j == 0)
System.out.println("leijia" + leijia(list)); // 最后一个元素
// 就打印下累加的
// 结果集
// // sum = (int) (sum + ((a * b) * (Math.pow(10, temp))));
// // sum=sum+(a*b)
// System.out.println("a" + a + " *b" + b + " =" + a * b);
// System.out.println("for j=" + sum); // 这里的时候已经溢出
// temp++; // 用来运算位的
}
lists.add(list);
System.out.println("lists" + lists);
// System.out.println(""+cj2(sum + "", ch1[i]+""));
// System.out.println(sum);
System.out.println("list==" + list);
// list.add(sum);
//
// System.out.println("result=" + getString(list));
}
return null;
}
求 大神帮忙 我从下午4点多研究到现在了
|
|