Advertisement
Guest User

Advent day2 java

a guest
Dec 2nd, 2019
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.14 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.io.File;
  3. import java.util.ArrayList;
  4.  
  5. public class ProgramAlarm {
  6.  
  7.     public static void main(String[] args) throws Exception {
  8.         File file = new File("**SOME_DIRECTORIES**/SmallProjects/Advent/Day2ProgramAlarm/ProgramAlarm.txt");
  9.         Scanner sc = new Scanner(file);
  10.         String data = "";
  11.  
  12.  
  13.         // Copy data from text file to single string
  14.         while (sc.hasNext()) {
  15.             data += sc.next();
  16.         }
  17.  
  18.         //Split string into String array
  19.         String[] codesString = data.split(",");
  20.         int[] codes = new int[codesString.length];
  21.  
  22.         //Convert string array to int array
  23.         for (int i = 0, n = codesString.length; i < n; i++) {
  24.             codes[i] = Integer.parseInt(codesString[i]);
  25.         }
  26.  
  27.        
  28.         // get code, perform aritmetic
  29.         for (int i = 0, n = codes.length - 4; i < n; i += 4) {
  30.             int opcode = codes[i];
  31.             int pos1 = codes[i+1];
  32.             int pos2 = codes[i+2];
  33.             int dest = codes[i+3];
  34.             if (opcode == 99) {
  35.                 break;
  36.             } else if (opcode == 1) {
  37.                 codes[dest] = codes[pos1] + codes[pos2];
  38.             } else if (opcode == 2) {
  39.                 codes[dest] = codes[pos1] * codes[pos2];
  40.             }
  41.         }
  42.  
  43.         System.out.println(codes[0]);
  44.  
  45.     }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement