5

来源:互联网 发布:finale 2016 mac 编辑:程序博客网 时间:2024/06/11 18:38
public String multiply(String num1, String num2) {        if(num1.length() == 0 || num2.length() == 0) {return (new String());}if(num1.equalsIgnoreCase("0") || num2.equalsIgnoreCase("0")) {return ("0");}String result = new String();int [] n1 = new int [num1.length()];int [] n2 = new int [num2.length()];int [] r = new int [num1.length() + num2.length()];for (int i = 0; i< num1.length(); i++){n1[i] = num1.charAt(i) - '0';}for (int i = 0; i< num2.length(); i++){n2[i] = num2.charAt(i) - '0';}for(int i = 0; i < r.length; i++) {r[i] = 0;}for(int i = 0; i<num1.length(); i++) {for(int j = 0; j < num2.length(); j++) {r[i+j+1] += n1[i]*n2[j];}}for(int i = r.length-1; i > 0; i--) {r[i-1] += r[i] / 10;}for(int i = 0; i < r.length; i++) {//System.out.print("i is "+i+": "+r[i]+"\n");String x = Integer.toString(r[i] % 10);result = result + x;}if(result.charAt(0) == '0') result = result.substring(1);//System.out.print(result);return result;    }


                                             
0 0