Fråga gällande Member class med Java, arraylist

Permalänk
Medlem

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() {
}
}
}

Permalänk
Avstängd

Skriv koden inom code-taggar.

Det stora felet du gör att du inte skapar ett nytt objekt när en ny kund registrerar sig och det skriver också din lärare.

Nedan är ett exempel som jag gjort i en helt annan kurs. Kanske kan ge lite hjälp.

/** * This function creates a new customer with a name, surname and pNo. * You cannot create a customer that already exists in the table. * Return a boolean value of false/true if the customer has been created. * @param name * @param surname * @param pNo * @return customerDone */ public boolean createCustomer(String name, String surname, String pNo) { // create the boolean variables and set them to false; boolean pNrExists = false; boolean customerDone = false; String foundPno; // check if the customer already exists ; // if the size of the table is not null ; if (customers.size()>0) { for (int i=0; i<customers.size(); i++) { foundPno = customers.get(i).getPno(); if (foundPno.equals(pNo)) { pNrExists = true; customerDone = false; } } if (!pNrExists) { Customer newCustomer = new Customer(name, surname, pNo); customers.add(newCustomer); customerDone = true; } } // if the table size is null then no customer can be within it ; else { Customer newCustomer = new Customer(name, surname, pNo); customers.add(newCustomer); customerDone = true; } return customerDone; }