23. oktober 2004 - 19:54
Der er
15 kommentarer og 1 løsning
sammenkæd 2 klasser
hej eksperter.. Jeg er igang med et skoleprojekt, hvori vi skal laves et program der kan oprette nogle bøger, med tilhørende forfatter.. Vi skal lave minimum 2 klasser.. Forfatter og Bog Jeg er ret ny i java, og kan ikke lige lure hvordan jeg skal få forbundet de 2 klasser, sådan at 1 forfatter kan lave fx 3 vbøger, og når jeg viser forfatter info, skal jeg se de 3 bøger han har lavet..
Annonceindlæg fra DE-CIX
Edge computing: behandling ved kilden
Edge computing revolutionerer den måde, data behandles på, ved at bringe kapacitet og ydeevne tættere på dér, hvor der er behov for det.
15. april 2025
23. oktober 2004 - 19:57
#1
Forfatter skal vel indeholde en reference til de Bog'er som hører til. Noget a la: import java.util.*; public class Forfatter { private ArrayList boger; ... public void addBog(Bog b) { boger.add(b); } ... }
23. oktober 2004 - 20:05
#2
jeg har min klasse Forfatter: (Forfatter.java) ------------------------------------------------ public class Forfatter { public String navn; public String cpr; public int telefon; public Forfatter(String navn, String cpr, int telefon) // Her oprettes en contructor { this.navn=navn; this.cpr=cpr; this.telefon=telefon; } public void setNavn(String navn) // Opretter metoden setNavn { this.navn=navn; } public void setTelefon(int telefon) // Opretter metoden setTelefon { this.telefon=telefon; } public void setCPR(String cpr) // Opretter metoden setCPR { this.cpr=cpr; } } --------------------------------------------------- og klassen Bog ( BOg.java) --------------------------------------------------- ublic class Bog { public String Titel; public String ISBN; public String Fag; public String Aargang; public String Udgivelses_aar; public int Antal_sider; public double Pris; public Bog( String Titel, String ISBN, String Fag, String Aargang, String Udgivelses_aar, int Antal_sider) // Her oprettes en cuntructor { this.Titel = Titel; this.ISBN = ISBN; this.Fag = Fag; this.Aargang = Aargang; this.Udgivelses_aar = Udgivelses_aar; this.Antal_sider = Antal_sider; } public void setTitel(String Titel) // Opretter metoden setNavn { this.Titel = Titel; } public void setISBN(String ISBN) // Opretter metoden setTelefon { this.ISBN = ISBN; } public void setFag(String Fag) // Opretter metoden setCPR { this.Fag = Fag; } public void setAargang(String Aargang) // Opretter metoden setCPR { this.Aargang = Aargang; } public void setUdgivelses_aar(String Udgivelses_aar) // Opretter metoden setCPR { this.Udgivelses_aar = Udgivelses_aar; } // Udskrivnings metoden public void udskriv_bog(String Titel, String ISBN, String Fag, String Aargang, String Udgivelses_aar) // Opretter metoden setCPR { System.out.println("Titel: " + this.Titel); System.out.println("ISBN: " + this.ISBN); System.out.println("FAG: " + this.Fag); System.out.println("Årgang: " + this.Aargang); System.out.println("Udgivelses ÅR: " + this.Udgivelses_aar); } // slut på udskrivning public void setAntal_sider(int Antal_sider, double Pris) // Opretter metoden setCPR { this.Antal_sider = Antal_sider; double side150over = 0; double side100til149 = 0; double side50til99 = 0; double side1til49 = 0; if(this.Antal_sider > 150) { side150over = this.Antal_sider-149; // antal_sider - 149 side100til149 = this.Antal_sider-99-side150over; side50til99 = this.Antal_sider-49-side100til149-side150over; side1til49 = this.Antal_sider-0-side50til99-side100til149-side150over; this.Pris = (side150over * 1) + (side100til149 * 1.5) + (side50til99 * 2) + (side1til49 * 3); } else if(this.Antal_sider >= 100 && this.Antal_sider <= 149) { side150over = 0; side100til149 = this.Antal_sider-99-side150over; side50til99 = this.Antal_sider-49-side100til149-side150over; side1til49 = this.Antal_sider-0-side50til99-side100til149-side150over; this.Pris = (side100til149 * 1.5) + (side50til99 * 2) + (side1til49 * 3); } else if(this.Antal_sider >= 50 && this.Antal_sider <= 99) { side150over = 0; side100til149 = 0; side50til99 = this.Antal_sider-49-side100til149-side150over; side1til49 = this.Antal_sider-0-side50til99-side100til149-side150over; this.Pris = (side50til99 * 2) + (side1til49 * 3); } else if(this.Antal_sider >= 1 && this.Antal_sider <= 49) { side150over = 0; side100til149 = 0; side50til99 = 0; side1til49 = this.Antal_sider-0-side50til99-side100til149-side150over; this.Pris = (side1til49 * 3); } } } ----------- skal jeg så laveen metode som opretter en bod til forfatteren i min "opret forfatter" klasse?
23. oktober 2004 - 20:08
#3
Du skal tilføje en metode til Forfatter som kan tilføje en bog (addBog) og formentlig en metode som henter alle bøger (getBoger).
23. oktober 2004 - 20:12
#4
ok.. men lad os så lige ta udgangspunkt i dit eksempel: import java.util.*; public class Forfatter { private ArrayList boger; ... public void addBog(Bog b) { boger.add(b); } ... } hvad er b?.. et enkelt "id".. eller er det en række informationer omkring bogen? eller mener du bare jeg skal have alle mine objektet med fra bog-klassen ind i morgen opretBog-metode?
23. oktober 2004 - 20:14
#5
b er et objekt af typen Bog
23. oktober 2004 - 20:16
#6
dvs jeg skal bare lave den om til public void addBog(Bog Titel, Bog Sider, Bog Fag) { // osv osv ?? boger.add(b); og hvad så nede i boger.add(b)?
23. oktober 2004 - 20:18
#7
Nej. public void addBog(Bog b) { er fint.
23. oktober 2004 - 20:18
#8
Skal jeg lige prøve at lave et lidt mere komplet eksempel ?
23. oktober 2004 - 20:32
#9
public class Bog { private String titel; private String forlag; private int udgivelse; public Bog() { this("", "", 0); } public Bog(String titel, String forlag, int udgivelse) { this.titel = titel; this.forlag = forlag; this.udgivelse = udgivelse; } public String getTitel() { return titel; } public void setTitel(String titel) { this.titel = titel; } public String getForlag() { return forlag; } public void setForlag(String forlag) { this.forlag = forlag; } public int getUdgivelse() { return udgivelse; } public void setUdgivelse(int udgivelse) { this.udgivelse = udgivelse; } public String toString() { return (titel + " " + forlag + " " + udgivelse); } }
23. oktober 2004 - 20:32
#10
import java.util.*; public class Forfatter { private String navn; private List boger; public Forfatter() { this(""); } public Forfatter(String navn) { this.navn = navn; boger = new ArrayList(); } public String getNavn() { return navn; } public void setNavn(String navn) { this.navn = navn; } public void addBog(Bog b) { boger.add(b); } public String toString() { StringBuffer sb = new StringBuffer(navn + ": "); for(int i = 0; i < boger.size(); i++) { if(i > 0) { sb.append(","); } sb.append(boger.get(i).toString()); } return sb.toString(); } }
23. oktober 2004 - 20:33
#11
public class TestForfatterBog { public static void main(String[] args) { Forfatter f = new Forfatter("Anders Andersen"); f.addBog(new Bog("En A historie", "Superforlaget", 1990)); f.addBog(new Bog("Essay", "Superforlaget", 1992)); System.out.println(f); } }
23. oktober 2004 - 20:33
#12
Output: Anders Andersen: En A historie Superforlaget 1990,Essay Superforlaget 1992
23. oktober 2004 - 20:36
#13
ja tak :)
23. oktober 2004 - 20:43
#14
Allerede postet !
23. oktober 2004 - 20:58
#15
hehe... jeg har ikke tid til at prøve det nu!,. men smid et svar. så får du point ;)
23. oktober 2004 - 21:04
#16
ok
Kurser inden for grundlæggende programmering