LardaX

SumBigNumber

Feb 2nd, 2017
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.66 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4.  
  5. public class SumBigNumbers {
  6.     public static void main(String[] args) throws IOException {
  7.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  8.         StringBuilder firstNumber = new StringBuilder(reader.readLine());
  9.         StringBuilder secondNumber = new StringBuilder(reader.readLine());
  10.  
  11.         StringBuilder result = new StringBuilder();
  12.         int overflow = 0;
  13.  
  14.         removeZeros(firstNumber);
  15.         removeZeros(secondNumber);
  16.  
  17.         firstNumber.reverse();
  18.         secondNumber.reverse();
  19.  
  20.  
  21.         if (secondNumber.length() > firstNumber.length()) {
  22.  
  23.             for (int i = 0; i < firstNumber.length(); i++) {
  24.                 int tempFirst = Integer.parseInt(firstNumber.substring(i, i + 1));
  25.                 int tempSecond = Integer.parseInt(secondNumber.substring(i, i + 1));
  26.                 int sum = tempFirst + tempSecond + overflow;
  27.  
  28.                 if (sum > 9) {
  29.                     overflow = 1;
  30.                     sum -= 10;
  31.  
  32.                 } else {
  33.                     overflow = 0;
  34.                 }
  35.                 result.insert(0, sum);
  36.             }
  37.  
  38.             for (int i = firstNumber.length(); i < secondNumber.length(); i++) {
  39.                 int tempSecond = Integer.parseInt(secondNumber.substring(i, i + 1));
  40.                 int sum = tempSecond + overflow;
  41.                 if (sum > 9) {
  42.                     overflow = 1;
  43.                     sum -= 10;
  44.  
  45.                 } else {
  46.                     overflow = 0;
  47.                 }
  48.                 result.insert(0, sum);
  49.             }
  50.  
  51.             if (overflow > 0) {
  52.                 result.insert(0, overflow);
  53.             }
  54.  
  55.         } else {
  56.             for (int i = 0; i < secondNumber.length(); i++) {
  57.                 int tempFirst = Integer.parseInt(firstNumber.substring(i, i + 1));
  58.                 int tempSecond = Integer.parseInt(secondNumber.substring(i, i + 1));
  59.                 int sum = tempFirst + tempSecond + overflow;
  60.  
  61.                 if (sum > 9) {
  62.                     overflow = 1;
  63.                     sum -= 10;
  64.                 } else {
  65.                     overflow = 0;
  66.                 }
  67.                 result.insert(0, sum);
  68.             }
  69.  
  70.             for (int i = secondNumber.length(); i < firstNumber.length(); i++) {
  71.                 int tempSecond = Integer.parseInt(firstNumber.substring(i, i + 1));
  72.                 int sum = tempSecond + overflow;
  73.                 if (sum > 9) {
  74.                     overflow = 1;
  75.                     sum -= 10;
  76.                 } else {
  77.                     overflow = 0;
  78.                 }
  79.                 result.insert(0, sum);
  80.             }
  81.  
  82.             if (overflow > 0) {
  83.                 result.insert(0, overflow);
  84.             }
  85.         }
  86.  
  87.         System.out.println(result);
  88.     }
  89.  
  90.     private static void removeZeros(StringBuilder firstNumber) {
  91.         while (firstNumber.charAt(0) == '0') {
  92.             firstNumber.delete(0, 1);
  93.         }
  94.     }
  95. }
  96.  
  97. //     if (firstNumber.indexOf(".") != - 1) {
  98. //         int index = firstNumber.indexOf(".");
  99. //         StringBuilder substr = new StringBuilder(firstNumber.substring(0, index + 1));
  100. //         firstNumber = firstNumber.delete(0, index + 1);
  101. //         result.append(substr.reverse());
  102. //     }
  103.  
  104. //     if (secondNumber.indexOf(".") != - 1) {
  105. //         int index = secondNumber.indexOf(".");
  106. //         StringBuilder substr = new StringBuilder(secondNumber.substring(0, index + 1));
  107. //         secondNumber = secondNumber.delete(0, index + 1);
  108. //         result.append(substr.reverse());
  109. //     }
Advertisement
Add Comment
Please, Sign In to add comment