二進位制求和_兩個字串表示二進位制的數位
阿新 • • 發佈:2022-03-16
現獲取道兩個字串長度最長的n,將char型別轉化為int型別,設定car來接收進位,然後迴圈之後,再判斷car是否為1,如果為1,用StringBuilde型別來接收,最後在反轉一下,呼叫toString方法返回。
package com.lhb.offer; /** * @author lhb * @date 2022/3/16 */ public class Offer_67 { static String sumTwo(String a, String b) { int n = Math.max(a.length(), b.length());int ans = 0; int car = 0; StringBuilder sb = new StringBuilder(); for (int i = 0; i < n; i++) { int va = i < a.length() ? (a.charAt(a.length() - i - 1) - '0') : 0; int vb = i < b.length() ? (b.charAt(b.length() - i - 1) - '0') : 0; car = car + va + vb; sb.append(car% 2); car = car / 2; } if (car == 1) { sb.append('1'); } return sb.reverse().toString(); } public static void main(String[] args) { String a = "1111"; String b = "001"; System.out.println(sumTwo(a, b)); } }