12. januar 2005 - 00:36 Der er 32 kommentarer og
1 løsning

Hjælp til opg om arraylist

hej alle...

jeg er i gang med at lave et prg. bestående af bla. en kontrolklasse og 2 identitetsklasser. (Stud og Opg)
kontrolklassen opretter 2 arraylists med referencer til de 2 identitetsklasser.
Stud klassen ser således ud:
public class Stud implements Serializable
{
  String fornavn;
  String efternavn;

  public Stud(String forn, String eftn)
  {
  fornavn = forn;
  efternavn = eftn;
  }
}
Opg klassen ser ud som følgende:
public class Opg implements Serializable
{
  int nummer;
  String titel;
 
  public Opg(int num, String tit)
  {
    nummer = num;
    titel = tit;
  }
}

opgaven går ud på at når jeg indtaster et navn ,så skal der vises en liste med de opg, der er knyttet til navnet, samt en karakter til opgaverne

Mit problem er at jeg ikke kan knytte en karakter attribut til de enkelte opgaver, da alle studerende i så fald får den samme karakter

desuden vil jeg når jeg i kontrolklassen søger på et navn gerne ha en liste med de opg, der er tilknyttet til navnet vist. Hvordan knytter jeg opg arraylisten til stud arraylisten?
Avatar billede kalp Novice
12. januar 2005 - 00:43 #1
Du skal lave en ArrayList i din stud.. og gemmer opgave objekter..så er det løst:)
Avatar billede kalp Novice
12. januar 2005 - 00:45 #2
altså efter

String fornavn;
String efternavn;
ArrayList opgave;

og i konstruktøren initialisere du lige arraylisten..

dvs.

opgave = new ArrayList();


desuden bør du gøre dine attributter private

private String fornavn;

osv.
Avatar billede kalp Novice
12. januar 2005 - 00:47 #3
for at knytte en oggave til en elev skal du lave en metode..som fx denne

public void addOpg(String titel, int nr)
{
Opgave tmp = new Opgave(titel, nr);

opgave.add(tmp);
}

så har han fået en opgave:)

men ændre lige din arraylists navn fra opgave til OpgaveListe

eller noget andet.. opgave lyder som en opgave
Avatar billede kalp Novice
12. januar 2005 - 00:48 #4
I din opgave klasse skal du have følgende attribut med

private String status;

så kan "i" være ikke afleveret.. "g" kan være godkendt.. osv

så har dine opgaver også forskellig status:)
Avatar billede kalp Novice
12. januar 2005 - 00:49 #5
desuden vil jeg når jeg i kontrolklassen søger på et navn gerne ha en liste med de opg, der er tilknyttet til navnet vist. Hvordan knytter jeg opg arraylisten til stud arraylisten?


ja det har jeg så svaret på ved at fortælle dig at du opretter arraylisten i studerende klassen;)
Avatar billede baitianlong Nybegynder
12. januar 2005 - 00:49 #6
Og også sætte karakteren som int attribut på opgaveklassen.
Avatar billede kalp Novice
12. januar 2005 - 00:52 #7
Du skal lave en Opgave klasse.. og i den skal du lave en int attribut..

og i den også lave en metode som denne fx
dvs
private int karakter;

public void givkarakter(int karakter)
{
this.karakter = karakter;
}
Avatar billede kalp Novice
12. januar 2005 - 00:56 #8
svar:o)

spørg løs.. jeg er oppe i 15min endnu og jeg frisk på flere java spørgsmål:o)
12. januar 2005 - 01:18 #9
Tak skal du ha...har lige været væk fra pc'en...det vil nok tage mig mere end 15min at læse indlæggende igennem og prøve dem af..men det ser lovende ud. tak igen
12. januar 2005 - 01:19 #10
Ps. jeg har trykket på accepter...men det ikke ud som om at du har fået mine point..gør jeg et eller andet forkert her?
Avatar billede kalp Novice
12. januar 2005 - 01:20 #11
Du skal lige markere mit navn først:) og så trykke accepter..

og du spørger bare hvis der er noget.. hvis jeg sover så svare jeg i morgen:)
12. januar 2005 - 01:28 #12
tak skal du ha' kalp...er godt igang her

i hvilken klasse skal jeg lave metoden addOpg(...)??
Avatar billede kalp Novice
12. januar 2005 - 01:29 #13
I din student klasse:)
12. januar 2005 - 01:36 #14
Den vil ikke godtage "Opgave"..skal der stå OpgaveListe i stedet, eller skal jeg opretter en ny klasse med navnet Opgave?

public void addOpg(String titel, int nr)
{
Opgave tmp = new Opgave(titel, nr);

opgave.add(tmp);
}
Avatar billede kalp Novice
12. januar 2005 - 01:37 #15
En god tankegang at have til det som kan hjælpe dig...

I har fået nogen spørgsmål.. der står hvad systemet skal kunne..
det er sikkert noget med at registrere studerende på navn og efter... at kunne tilføje opgave med titel og nummer.. osv osv.

Du skal lave klasser til alt dette..

Start med det lette.. en Opgave...
Hvad vil du beskrive en Opgave? Ud fra hvad de siger selvfølgelig:)
De siger den skal kunne være godkendt.. ikke godkendt.. afleveret og ikke afleveret.. og så selvfølgelig igen det med at den skal have en titel og et nummer.

Det beskriver jo meget godt en opgave i denne sammenhæng.

selve opgave klassen skal se ud som dette ca.

public class Opgave
{
private String titel;
private int nummer;
private String status;

public Opgave(String titel, int nummer)
{
this.titel = titel;
this.nummer = nummer;
status = "i";
}

//Vi skal kunne hente en opgaves titel..

public String hentTitel()
{
return titel;
}

public int hentnr()
{
return nummer;
}

public void givKarakter(int tal)
{
status = tal;
}

}


det kunne være for klassen opgave:)
Avatar billede kalp Novice
12. januar 2005 - 01:37 #16
til din kommentar... ja du skal oprette en klasse Opgave:) faktisk den jeg storset lige har lavet for dig.
12. januar 2005 - 02:01 #17
Hej igen Kalp. tak for dine svar indtil nu...de har været gode..

Da det er meningen at jeg skal kunne oprette mange studerende, samt oprette mange opgaver. hver for sig. Ideen var egentlig først at indtaste nogle opgaver i opgavearraylisten, dernæst når jeg indtaster en studobject, at den automatisk for tilknyttet sig det array med opgaver

en ting til...jeg ville gerne undgå at karakteren er tilknyttet opgaveklassen....da  karakteren egentlig ligger som en associasion mellem stud klassen og opgave klassen, da den er disses sammenhæng, karakteren skal ligge på...tror jeg nok..hvordan gør jeg det??
Avatar billede kalp Novice
12. januar 2005 - 02:14 #18
Da det er meningen at jeg skal kunne oprette mange studerende, samt oprette mange opgaver. hver for sig. Ideen var egentlig først at indtaste nogle opgaver i opgavearraylisten, dernæst når jeg indtaster en studobject, at den automatisk for tilknyttet sig det array med opgaver

svar: fint så skal du stadig have en arraylist i student i hvertfald.. og du skal stadig bruge din opgave klasse og du skal bare lave en ny klasse som hedder OpgaveListe eller noget lignende med en arraylist i sig hvor der kan gemmes opgaver.. i denne klasse skal du lave de nødvendige metoder (som tilfojopgave)
Avatar billede kalp Novice
12. januar 2005 - 02:15 #19
en ting til...jeg ville gerne undgå at karakteren er tilknyttet opgaveklassen....da  karakteren egentlig ligger som en associasion mellem stud klassen og opgave klassen, da den er disses sammenhæng, karakteren skal ligge på...tror jeg nok..hvordan gør jeg det??

svar: forklar lige igen? jeg er ret sikker på at en opgave skal have sin egen status:) husk på hver opgave kan have hver sin status i hver sin student objekt..

men ellers forklar lige igen :)
Avatar billede kalp Novice
12. januar 2005 - 02:16 #20
gør lige klar til at gå i seng imens
12. januar 2005 - 02:16 #21
Jeg tænkte stadig at lade kontrolklassen ha addOpg() metoden, hvor den opretter opgavernes nummer og titel. Dernæst ha en addOpgStatus() metode, i stedet for i stud klassen, der opretter opgaven med nummer og status....opgavernes nr og titel er det samme for alle studerende, mens det er statusen, der skal knytte sig til den studerende og samtidig pege på en specifik opgave. jeg tænkte at opgaven nummer kunne virke som en form for id, til at afhjælpe dette...er min tankegang helt skør og kan dette overhovedet lade sig gøre....;)
12. januar 2005 - 02:22 #22
hej kalp...have ikke set dine sidste besvarelser før min sidste kommentar....
hvis du siger at hver opgave  kan have hver sin status i hver sin student objekt..så er den fin...det var det jeg ikke troede den kunne ha'.

Jeg tænker dog om du forestiller dig at man i programmet først opretter en stud, dernæst dennes opgaver...og så gentager det hele igen med den nædste stud.??
Avatar billede kalp Novice
12. januar 2005 - 02:25 #23
hver opgave kan have sin egen status:)
i mit eksempel sætter jeg status til at være "i" .. det noget du selv kan bestemme.. jeg forestiller mig bare at når en opgave er blevet tilknyttet en elev så kan den ikke allerede have status for at være afleveret?:) "i" kunne også være "b" det op til dig.. det er bare et tegn som skal symbolisere enten afleveret, ikke afleveret, godkendt og ikke godkendt.

hvis opgaven er afleveret så kunne symbolet for dette være "a"

og du kan sagtens gøre så den altid ved oprettelse af en student giver ham listen med opgaver
12. januar 2005 - 02:28 #24
Ok tak skal du ha'

vil det være for stort et spørgsmål at stille på dette tidspunkt om hvordan lige præcis tilknytter opgaverne når man opretter en studerende??

Ellers sov godt...
Avatar billede kalp Novice
12. januar 2005 - 02:32 #25
to sekunder så får du også den med:)
12. januar 2005 - 02:33 #26
tak...det er venligt af dig....;)
Avatar billede kalp Novice
12. januar 2005 - 02:35 #27
når du har lavet din arraylist med opgaver så skal du bare i din student konstruktør

  public Stud(String forn, String eftn)
  {
  fornavn = forn;
  efternavn = eftn;
  }


have din arraylist med.. kan du huske vi lavede en?

ArrayList opgave;

så skal det se sådan her ud

  public Stud(String forn, String eftn)
  {
  OpgaveListe tmp = new OpgaveListe();
  fornavn = forn;
  efternavn = eftn;
  opgave = tmp.getList();
  }


det kræver bare at din arraylist med opgaver ligger i klassen OpgaveListe
og at der i den klasse findes en metode "getList()"

getlist skal se sådan her ud

public ArrayList getList()
{
return Navnetpådinarraylist
}


skal gerne forklare bedre efter noget nattesøvn:)
men håber du fik den
12. januar 2005 - 02:36 #28
ok sov godt..
Avatar billede kalp Novice
12. januar 2005 - 02:37 #29
under alle omstændigheder hvis du under tidspres tror jeg godt jeg kan få opgaven løst (uden GUI) til dig eller en som ligner rimelig meget:) men det selvfølgelig bedst du selv laver det.

Godnat;)
12. januar 2005 - 03:00 #30
Ha ha ok..du har måske selv lavet opg
Avatar billede kalp Novice
12. januar 2005 - 09:03 #31
Jeg mener kender en som har lavet en som lyder ret magen til:)
12. januar 2005 - 21:52 #32
Hej Kalp...
Vil bare sige at opgaven er færdiggjort og blevet ganske god...tak igen
Avatar billede kalp Novice
12. januar 2005 - 21:56 #33
Det er jeg glad for at høre:) og ingen årsag! spørgsmålet faldt lige i min smag;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester