1.*10实现
import java.util.Scanner;
public class test {
public static void main(String[] args) {
//实现乘法运算
String s = "";
Scanner sc = new Scanner(System.in);
String a = sc.nextLine();
String b = sc.nextLine();
int arr[] = new int[a.length()];
int arr1[] = new int[b.length()];
for (int i = 0; i < a.length(); i++) {
arr[i] = a.charAt(i) - 48;
}
for (int i = 0; i < b.length(); i++) {
arr1[i] = b.charAt(i) - 48;
}
int m = 0;
int n = 1;
int x = 1;
for (int j = b.length() - 1; j >= 0; j--) {
for (int i = a.length() - 1; i >= 0; i--) {
m += arr1[j] * arr[i] * n;
n = n * 10;
}
n = 10 * x;
x = x * 10;
}
System.out.println(m);
}
}
2.数组遍历实现
public class t1 {
public static void main(String[] args) {
//定义两个数组存储值--倒着放,正着遍历
int[] arr1={4,3,2};//234
int[] arr2={7,6,1};//167
//定义数组来存储结果
int[] result=new int[arr1.length+arr2.length];//最大位数
//通过嵌套循环实现两个数组相互乘积
for(int i=0;i<arr1.length;i++){
for(int j=0;j<arr2.length;j++){
//对应位置求和,两个数组下标之和为新的下标
result[i+j]+=arr1[i]*arr2[j];
}
}
//进位--只能遍历到倒数第二位因为每次循环需要操作两位数
for(int i=0;i<result.length-1;i++){
//可以把当前的数组元素值赋值给新变量
int temp=result[i];
//个位数
result[i]=temp%10;
//进位
result[i+1]+=temp/10;
}
//遍历结果
for(int i=result.length-1;i>=0;i--){
System.out.print(result[i]);
}
}
}