Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.io.*;
- public class InfiniteAdders {
- public static void main(String [] args){
- try{
- Scanner file = new Scanner(new BufferedReader(new FileReader("nums1.txt")));
- Digit head = new Digit();
- head.setDigit(file.nextInt());
- Digit curr = head;
- Digit prev = head;
- while(file.hasNext()){
- curr.setNext(new Digit());
- curr = curr.getNext();
- curr.setDigit(file.nextInt());
- curr.setPrev(prev);
- prev = curr;
- }
- Scanner file1 = new Scanner(new BufferedReader(new FileReader("nums2.txt")));
- Digit head2 = new Digit();
- head2.setDigit(file1.nextInt());
- Digit curr2 = head2;
- Digit prev2 = head2;
- while(file1.hasNext()){
- curr2.setNext(new Digit());
- curr2 = curr2.getNext();
- curr2.setDigit(file1.nextInt());
- curr2.setPrev(prev2);
- prev2 = curr2;
- }
- Digit head3 = new Digit();
- Digit curr3 = head3;
- Digit prev3 = head3;
- int carry = 0;
- while ( curr != null || curr2 != null) {
- curr3.setNext(new Digit());
- if (curr != null && curr2 != null) {
- curr3.digit = curr.digit + curr2.digit + carry;
- }
- if (curr3.digit >= 10) {
- curr3.digit = curr3.digit - (1 * 10);
- carry = 1;
- } else {
- carry = 0;
- }
- if(curr != null && curr2 == null){
- curr3.digit = curr.digit + carry;
- curr = curr.getPrev();
- }
- if(curr == null && curr2 != null){
- curr3.digit = curr2.digit + carry;
- curr2 = curr2.getPrev();
- }
- }
- curr3.getNext();
- curr.setDigit(0);
- curr3.setPrev(prev3);
- prev3 = curr3;
- while (prev3 != null) {
- System.out.print(curr3.getDigit());
- curr3 = prev3.getNext();
- }
- }
- catch(Exception e){
- System.out.println(e.getMessage());
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement