I can "Create, Read and Delete but not update. Is there anyone who knows how to make update in my CRUD program ? or where I can read more about CRUD ..
package medlemmar; public class Medlem { private int medlemsNummer; private String forNamn; private String efterNamn; private String epostAdress; public int getMedlemsNummer() { return medlemsNummer; } public void setMedlemsNummer(int medlemsNummer) { this.medlemsNummer = medlemsNummer; } public String getForNamn() { return forNamn; } public void setForNamn(String forNamn) { this.forNamn = forNamn; } public String getEfterNamn() { return efterNamn; } public void setEfterNamn(String efterNamn) { this.efterNamn = efterNamn; } public String getEpostAdress() { return epostAdress; } public void setEpostAdress(String epostAdress) { this.epostAdress = epostAdress; } }
package medlemmar; import java.io.*; import java.util.ArrayList; public class Medlemmar { private ArrayList<Medlem> medlemmar; public Medlemmar() { medlemmar = new ArrayList<>(); } public void addMedlem(Medlem medlem) { medlemmar.add(medlem); } public void removeMedlem(int index) { medlemmar.remove(index); } public Medlem getMedlem(int index) { return medlemmar.get(index); } public ArrayList<Medlem> getArrayList() { return medlemmar; } public void readFromFile(String fileName) throws IOException { try (BufferedReader in = new BufferedReader(new FileReader(fileName))) { String filRad; while ((filRad = in.readLine()) != null) { String[] post = filRad.split(","); Medlem m = new Medlem(); m.setMedlemsNummer(Integer.parseInt(post[0])); m.setForNamn(post[1]); m.setEfterNamn(post[2]); m.setEpostAdress(post[3]); this.addMedlem(m); } } } public void writeToFile() throws IOException { FileWriter fw = new FileWriter("medlemmar.csv"); try (BufferedWriter bw = new BufferedWriter(fw)) { for (int i = 0; i < medlemmar.size(); i++) { Medlem m = medlemmar.get(i); String rad = m.getMedlemsNummer() + "," + m.getForNamn() + "," + m.getEfterNamn() + "," + m.getEpostAdress(); bw.write(rad); bw.newLine(); } } } public void skrivUtInfo() { for (int i = 0; i < medlemmar.size(); i++) { Medlem m = medlemmar.get(i); String info = i + ": " + m.getForNamn() + " " + m.getEfterNamn() + ", " + m.getEpostAdress(); System.out.println(info); } } public int hittaMedlemsNummer() { int storstaTalet = -1; for (Medlem m : medlemmar) { if (m.getMedlemsNummer() > storstaTalet) { storstaTalet = m.getMedlemsNummer(); } } return storstaTalet + 1; } }
Main
package medlemmar; import java.io.IOException; public class MedlemsApp { public static void main(String[] args) { Medlemmar medlemsRegister = new Medlemmar(); MedlemsMeny meny = new MedlemsMeny(); meny.setMedlemsRegister(medlemsRegister); try { medlemsRegister.readFromFile("medlemmar.csv"); } catch (IOException ex) { System.out.println("Det uppstod problem vid läsning av filen."); } int menyVal = 0; while (menyVal != 4) { menyVal = meny.visaMeny(); switch (menyVal) { case 1: meny.visaMedlemmar(); break; case 2: meny.laggTillMedlem(); break; case 3: meny.taBortMedlem(); break; case 4: meny.avsluta(); break; default: System.out.println("Ogiltigt val. Försök igen."); } } } }
Menu
package medlemmar; import java.io.IOException; import java.util.Scanner; public class MedlemsMeny { private Medlemmar medlemsRegister; private Scanner inMatning; public MedlemsMeny() { inMatning = new Scanner ( System.in ); } public int visaMeny() { System.out.println("------ Meny ------\n"); System.out.println("1. Visa medlemmar"); System.out.println("2. Lägg till medlem"); System.out.println("3. Ta bort medlem\n"); System.out.println("5. Avsluta\n\n"); System.out.print("Menyval: "); int valStr = inMatning.nextInt(); return valStr; } public Medlemmar getMedlemsRegister() { return medlemsRegister; } public void setMedlemsRegister(Medlemmar medlemsRegister) { this.medlemsRegister = medlemsRegister; } public void visaMedlemmar() { System.out.println("--- Visa medlemmar ---"); System.out.println("----------------------"); medlemsRegister.skrivUtInfo(); } public void laggTillMedlem() { System.out.println("--- Lägg till medlem ---"); System.out.println("------------------------"); Medlem nyMedlem = new Medlem(); System.out.print("Förnamn: "); String forNamn = inMatning.next(); nyMedlem.setForNamn(forNamn); System.out.print("Efternamn: "); String efterNamn = inMatning.next(); nyMedlem.setEfterNamn(efterNamn); System.out.print("E-postadress: "); String ePost = inMatning.next(); nyMedlem.setEpostAdress(ePost); int medlemsNummer = medlemsRegister.hittaMedlemsNummer(); nyMedlem.setMedlemsNummer(medlemsNummer); medlemsRegister.addMedlem(nyMedlem); } public void taBortMedlem() { System.out.println("--- Ta bort medlem ---"); System.out.println("----------------------"); System.out.print("Ange nummer för den medlem du vill ta bort: "); int medlemsIndex = inMatning.nextInt(); medlemsRegister.removeMedlem(medlemsIndex); } public void avsluta() { System.out.println("Programmet avslutas!"); try { medlemsRegister.writeToFile(); } catch (IOException ex) { System.out.println("Problem uppstod vid skrivning till fil."); } } }
Result
Det uppstod problem vid läsning av filen.
------ Meny ------
1. Visa medlemmar
2. Lägg till medlem
3. Ta bort medlem
4. Update <------ need to solve this
5. Avsluta
Menyval: