NIVELL 1 · Sessió 1 · L'entorn i GameVault
Pantalla d'inici
- Missatge
- Manual
- Reptes
- Cartutx
Aquest nivell ja està superat. Pots tornar-lo a jugar, però la puntuació desada no canviarà.
Manual del nivell
Desbloqueja les 3 pàgines del manual per poder jugar. Llegeix-les bé: els reptes en faran preguntes.
Dades volàtils i dades persistents
El programa és el cuiner, la RAM és el taulell (ràpid, però es neteja en tancar) i l'emmagatzematge és el rebost. Tot el que viu en variables desapareix quan acaba el programa: si volem que les dades sobrevisquin, cal persistir-les.
Els cinc rebosts del curs: fitxers (CSV, JSON, XML, binaris) · BD relacionals amb JDBC · ORM (JPA i Hibernate) · objecte-relacionals i BDOO · NoSQL documental (MongoDB).
El record Joc
Un record és una classe per guardar dades immutables. Java genera sol el constructor, els accessors (titol(), nota()…), equals, hashCode i toString. Nosaltres només hi afegim les validacions, al constructor compacte.
public record Joc(int id, String titol, String plataforma, String estudi,
LocalDate dataSortida, double horesJugades, double nota) {
public Joc {
if (titol == null || titol.isBlank()) {
throw new IllegalArgumentException("el títol no pot ser buit");
}
if (nota < 0 || nota > 10) {
throw new IllegalArgumentException("la nota ha d'anar de 0 a 10: " + nota);
}
}
}| Fragment | Què fa |
|---|---|
public record Joc(...) | Declara el record: la llista de components és alhora els camps i els paràmetres del constructor. |
public Joc { | Constructor compacte: sense parèntesis ni assignacions; Java assigna els camps sol en acabar. |
titol.isBlank() | Cert si el text és buit o només té espais. |
throw new IllegalArgumentException(...) | Si les dades no són vàlides, l'objecte no es crea. |
L'entorn de treball
- JDK 21 (Eclipse Temurin):
java -versionha de dir 21. - IntelliJ IDEA amb un projecte Maven (groupId
cat.pratfp, artifactIdgamevault). - Git i GitHub: tot el codi es lliura al repositori, amb commits repartits.
- La carpeta
dades/va a l'arrel, al costat delpom.xml: els exemples hi treballen amb rutes relatives.
<properties>
<maven.compiler.release>21</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>Nivell superat
Partida arrencada. Primer cartutx recuperat.
- XP guanyats
- 0
- Errors
- 0
- Pistes
- 0
Anota bé la lletra i la seva posició: abans del boss hauràs de reconstruir la contrasenya.