思路:讲各位相乘的数保存在数组里,再将各个余数用一个StringBulider的insert方法逐个插入(insert方法将指定数符插入指定位置)。
public class MultiplyStrings { public String multiply(String num1, String num2) { num1=new StringBuffer(num1).reverse().toString(); num2=new StringBuffer(num2).reverse().toString(); int data[]=new int[num1.length()+num2.length()]; for(int i=0;i int a=num1.charAt(i)-'0'; for(int j=0;j int b=num2.charAt(j)-'0'; data[i+j]+=a*b; // System.out.println(data[i+j]); } } StringBuilder sBuilder=new StringBuilder(); for(int i=0;i int reminder=data[i]%10; int caray=data[i]/10; sBuilder.insert(0, reminder); if(i+1 data[i+1]+=caray; } //去除前面的0; while(sBuilder.charAt(0)=='0'&&sBuilder.length()>0)sBuilder.deleteCharAt(0); return sBuilder.toString(); } public static void main(String[] args) { String num1="23"; String num2="24"; String result=new MultiplyStrings().multiply(num1, num2); System.out.println(result); } }