java实现字符串相加

    xiaoxiao2022-07-03  186

    package t07Str; public class Demo02 { public static void main(String[] args) { System.out.println(fun01("9999" , "9999")); } private static String fun01(String n1Str , String n2Str) { if(!n1Str.matches("\\d+") || !n2Str.matches("\\d+")) { return "Error"; } String sb1R = new StringBuilder(n1Str).reverse().toString(); String sb2R = new StringBuilder(n2Str).reverse().toString(); int len1 = n1Str.length() ; int len2 = n2Str.length() ; if(len1 != len2) { int dLength = len1 - len2 > 0 ? len1 - len2 : len2 - len1 ; if(len1 > len2 ) { for(int i = 0 ; i < dLength ; i++) { sb2R += "0" ; } }else { for(int i = 0 ; i < dLength ; i++) { sb1R += "0" ; } } } char[] charArray1 = sb1R.toCharArray(); char[] charArray2 = sb2R.toCharArray(); boolean flag = false ; String result = "" ; for(int i = 0 ; i < charArray1.length ; i++) { int tempSmalSum = Integer.parseInt(charArray1[i]+"") + Integer.parseInt(charArray2[i]+"") + (flag ? 1 : 0); if(tempSmalSum > 9) { flag = true ; tempSmalSum -= 10 ; } result += (tempSmalSum+""); } if(flag) result += "1"; return new StringBuilder(result).reverse().toString(); } }
    最新回复(0)