package dk.abcdefghijklmnopqrstuvxyzæøå.bachelorizer; import java.util.Arrays; /// Bachelorizer - bachelor programme registrar /// /// SPDX-License-Identifier: GPL-3.0-or-later /// SPDX-FileCopyrightText: 2025 Jonas Smedegaard /// /// Tool for registering students /// for activities in their bachelor programme. /// /// Core class usable in several ways /// * as self-contained executable via method main() /// * embedded in a larger system by instantiating Bachelorizer() /// /// * v0.0.1-draft /// * initial release, as part of delivery "Portfolio 1" /// /// @version 0.0.1-draft /// @see public class Main { /// Student name public String name; /// Student activity list public String[] activities; /// Main constructor /// /// @param args command-line arguments or default demo data public Main(final String[] args) { if (args.length > 0 && args[0] != null) { this.name = args[0]; if (args.length > 1 && args[1] != null) { this.activities = Arrays.copyOfRange( args, 1, args.length); } } } /// JVM entry point /// /// @param args command-line arguments public static void main(String[] args) { if (args.length == 0) args = new String[] { "Jonas Smedegaard", "CS-SMC2", "CS-SMC3", }; Main session = new Main(args); // minimal viable product System.out.printf("Hi %s%n", (session.name != null) ? session.name : "stranger"); System.out.printf("You chose these activities: %s%n", (session.activities != null) ? Arrays.toString(session.activities) : "[nothing]"); } }