1. des. 2024 - 2 minutter å lese

Advent of Code 2024 - Template

Advent of Code 2024 - Template

Full kode finner du her.

Template

public static void main(String[] args) throws IOException {
    //Standard
    List<String> lines = Files.readAllLines(Paths.get("2024/inputs/Day.txt"));

    for(String line: lines){

    }

    //Single line
    BufferedReader reader = new BufferedReader(new FileReader("2024/inputs/Day.txt"));
    String line = reader.readLine();

    for(int i = 0; i < line.length(); i++){
        char c = line.charAt(i);
    }

    int part1 = 0;
    int part2 = 0;

    System.out.println(part1);
    System.out.println(part2);
}

For å simplifisere og standardisere koden jeg skriver for Advent of Code, har jeg laget en template som jeg bruker for alle oppgavene. Denne template’en er laget for å kunne brukes for alle oppgavene, og er enkel å tilpasse for de ulike oppgavene. Jeg har også lagt til en standard for hvordan jeg leser inn input, og hvordan jeg printer ut resultatene. Dette gjør at jeg slipper å skrive samme kode flere ganger, og kan fokusere på selve oppgaven. Det er godt mulig denne blir oppdatert etterhvert som jeg løser flere oppgaver, og lærer mer slik jeg allerede har gjort. Tidligere versjoner kan ses under:

Versjon 1

public static void main(String[] args){
    ArrayList<String> lines = new ArrayList<>();

    try (BufferedReader reader = new BufferedReader(
        new FileReader("2024/inputs/Day.txt"))){

        String line = reader.readLine();

        while(line != null){
            lines.add(line);
            line = reader.readLine();
        }

    } catch (IOException e){
        e.printStackTrace();
    }
}