//2.new 结果数据,长度为两个整数数组之和 int[] result = new int[num1.length + num2.length];
//3.两个数组逐位相乘后保存在结果数组中 for (int i = 0; i < num1.length; i++){ for (int j = 0; j < num2.length; j++){ result[i + j + 1] += (num1[i] - '0') * (num2[j] - '0'); } }
//4.处理进位,数组前一位为前一位+本位/10,数组本位为本位%10 for (int i = result.length -1 ; i > 0; i--){ if (result[i] >= 10){ result[i - 1] += result[i] / 10; result[i] %= 10; } }
//5.从后往前遍历结果数组,去除最前边的0 StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < result.length; i++){ if (i == 0 && result[i] == 0 ) continue; stringBuilder.append(result[i]); }