Advertisement
Shabbyshab

Untitled

Feb 13th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.io.*;
  3. public class InfiniteAdders {
  4. public static void main(String [] args){
  5. try{
  6. Scanner file = new Scanner(new BufferedReader(new FileReader("nums1.txt")));
  7. Digit head = new Digit();
  8. head.setDigit(file.nextInt());
  9. Digit curr = head;
  10. Digit prev = head;
  11. while(file.hasNext()){
  12. curr.setNext(new Digit());
  13. curr = curr.getNext();
  14. curr.setDigit(file.nextInt());
  15. curr.setPrev(prev);
  16. prev = curr;
  17. }
  18. Scanner file1 = new Scanner(new BufferedReader(new FileReader("nums2.txt")));
  19. Digit head2 = new Digit();
  20. head2.setDigit(file1.nextInt());
  21. Digit curr2 = head2;
  22. Digit prev2 = head2;
  23. while(file1.hasNext()){
  24. curr2.setNext(new Digit());
  25. curr2 = curr2.getNext();
  26. curr2.setDigit(file1.nextInt());
  27. curr2.setPrev(prev2);
  28. prev2 = curr2;
  29. }
  30. Digit head3 = new Digit();
  31. Digit curr3 = head3;
  32. Digit prev3 = head3;
  33.  
  34. int carry = 0;
  35. while ( curr != null || curr2 != null) {
  36. curr3.setNext(new Digit());
  37. if (curr != null && curr2 != null) {
  38. curr3.digit = curr.digit + curr2.digit + carry;
  39. }
  40. if (curr3.digit >= 10) {
  41. curr3.digit = curr3.digit - (1 * 10);
  42. carry = 1;
  43. } else {
  44. carry = 0;
  45. }
  46. if(curr != null && curr2 == null){
  47. curr3.digit = curr.digit + carry;
  48. curr = curr.getPrev();
  49. }
  50. if(curr == null && curr2 != null){
  51. curr3.digit = curr2.digit + carry;
  52. curr2 = curr2.getPrev();
  53. }
  54. }
  55. curr3.getNext();
  56. curr.setDigit(0);
  57. curr3.setPrev(prev3);
  58. prev3 = curr3;
  59. while (prev3 != null) {
  60. System.out.print(curr3.getDigit());
  61. curr3 = prev3.getNext();
  62. }
  63. }
  64. catch(Exception e){
  65. System.out.println(e.getMessage());
  66. e.printStackTrace();
  67. }
  68. }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement