blob: b69047ec11d6967c05d588016d64fe35a9a22154 (
plain)
- 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 <dr@jones.dk>
- ///
- /// 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 <https://moodle.ruc.dk/mod/assign/view.php?id=523186>
- 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]");
- }
- }
|