Fråga gällande Member class med Java, arraylist
Hej,
har uppgift i min Javakurs där vi ska skapa et gymsystem med inlogg, registrering, uträkning av pris för medlemskap, boka kurs etc. Vi har i princip gjort klart men fick feedback av vår lärare som lyder följande ''I denna typ av lösning förväntar man sig att Medlem är en egen klass som håller sin egen ”data” exempelvis namn, personnummer etc.
När man skapar en ny medlem så skapar man en ny instans (objekt) av klassen Medlem och lägger till objektet i en lista som består av flera objekt av klassen Medlem.
Varje instans av Medlem håller sitt eget data dvs kopplar ihop namn med personnummer.
Ex. ArrayList<Medlem> medlemmar = new ArrayList<>();
Om man har en klass med instansvariablerna namn och personnummer så skapar man en ny instans (objekt) av klassen Medlem, läser in värdena i instansvariablerna och lägger till objektet i listan medlemmar.
Ni har istället en klass Medlem som har listorna namn och personnummer av typen String (ArrayList<String> namn) men då finns ingenting som kopplar ihop ett namn med ett personnummer eftersom dom bara ligger i separata listor. ''
SNÄLLA hjälp med hur vi ska göra istället, är så ny till Java fortfarande så hade varit så skönt om någon ville modifiera koden nedan och sätta in så som han menar istället så att man kan förstå det i sin helhet...
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-def... to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package gymapp3;
import java.util.ArrayList;
import java.util.Scanner;
public class Medlem {
static ArrayList<String> namn = new ArrayList<String>(); /* Skapar ArrayList för att lagra namn som reggas */
static ArrayList<String> personnummer = new ArrayList<String>(); /* Skapar ArrayList för att lagra personnummer som reggas */
public Medlem(ArrayList<String> namn, ArrayList<String> personnummer) { /* Konstruktor, skapar */
this.namn = namn;
this.personnummer = personnummer;
}
public static ArrayList<String> getNamn() { /* anger värdet på variabel 'namn' */
return namn;
}
public static void bliMedlem() { /* Metod för att bli medlem körs */
System.out.println("Ange ditt namn: "); /* Inmatningsmarkör */
Scanner input = new Scanner(System.in);
Medlem.namn.add(input.nextLine()); /* Lägger till nästa inmatade String i ArrayList 'namn' */
if(Autentisering.aut()) { /* Villkor ifall metoden 'aut' returnerar true - d.v.s. om personnumret är giltigt */
Medlemskostnad.kostnad(); /* Metoden 'kostnad' körs */
Main.medlem = true; /* Boolean-variabeln 'medlem' får värdet true */
}
else {
System.out.println("Personnumret är ogiltigt. Försök igen, tack!");
}
}
static class namn {
public namn() {
}
}
}