Gå til innhold

Anbefalte innlegg

Hei, har problemer med å lage et klientprogram til disse to klassene. Er det noen her som kan hjelpe meg?

Trenger ikke noe avansert klientprogram, men setter pris på kommentering underveis. Takk på forhånd.

 

/**Lager en klasse Student**/

 

class Student{

private String navn;

private int antOppg;

 

/**Konstruktør**/

 

public Student(String startnavn, int godkjent){

navn = startnavn;

antOppg = godkjent;

}

 

/**Metoder**/

 

/*Finner navn*/

public String finnNavn(){

return navn;

}

 

/*Finner antall oppgaver*/

public int finnAntOppg(){

return antOppg;

}

 

/*Øker antall godkjente oppgaver med 1*/

public void ØkAntOppg(int økning){

antOppg += økning;

}

 

/*ToString*/

public String toString(){

String returVerdi = " ";

returVerdi = returVerdi + " Navn: " + navn + ". Godkjente: " + antOppg;

return returVerdi;

}

}

 

/**Lager en klasse Oppgaveoversikt**/

class Oppgaveoversikt{

private Student[] studenter; //tabellen opprettes i konstuktøren

private int antStud = 0; //øker med 1 for hver ny student

 

/*Konstruktør*/

public Oppgaveoversikt(int tabellLengde){

studenter = new Student [tabellLengde];

}

 

/**Metoder**/

 

/*Finn antall studenter*/

public int finnAntStud(){

return antStud;

}

 

/*Finn antall løste oppgaver en bestemt student har løst*/

public int finnAntOppg(int verdi){

return studenter[verdi].finnAntOppg();

}

 

/*Registrer en ny student*/

public boolean nyStud(String navn, int godkjente){

if(antStud<studenter.length && antStud >= 0){

studenter[antStud] = new Student(navn, godkjente);

antStud++;

return true;

}else{

return false;

}

}

}

Lenke til kommentar
Videoannonse
Annonse

Hei, bruk ["code"] <din kode her ["/code"] (uten "), så blir det mye lettere for oss å lese...

 

/**Lager en klasse Student**/

class Student{
   private String navn;
   private int antOppg;
   
   /**Konstruktør**/
   
   public Student(String startnavn, int godkjent){
       navn = startnavn;
       antOppg = godkjent;
   }
   
   /**Metoder**/
   
   /*Finner navn*/
   public String finnNavn(){
       return navn;
   }
   
   /*Finner antall oppgaver*/
   public int finnAntOppg(){
       return antOppg;
   }
   
   /*Øker antall godkjente oppgaver med 1*/
   public void ØkAntOppg(int økning){
       antOppg += økning;
   }
   
   /*ToString*/
   public String toString(){
       String returVerdi = " ";
       returVerdi = returVerdi + " Navn: " + navn + ". Godkjente: " + antOppg;
       return returVerdi;
   }
}

/**Lager en klasse Oppgaveoversikt**/
class Oppgaveoversikt{
   private Student[] studenter; //tabellen opprettes i konstuktøren
   private int antStud = 0; //øker med 1 for hver ny student
   
   /*Konstruktør*/
   public Oppgaveoversikt(int tabellLengde){
       studenter = new Student [tabellLengde];
   }
   
   /**Metoder**/
   
   /*Finn antall studenter*/
   public int finnAntStud(){
       return antStud;
   }
   
   /*Finn antall løste oppgaver en bestemt student har løst*/
   public int finnAntOppg(int verdi){
       return studenter[verdi].finnAntOppg();
   }
   
   /*Registrer en ny student*/
   public boolean nyStud(String navn, int godkjente){
       if(antStud<studenter.length && antStud >= 0){
           studenter[antStud] = new Student(navn, godkjente);
           antStud++;
           return true;
       }else{
           return false;
       }
   }
}

 

Videre, hvis du vil vi skal hjelpe deg med oppgaven din er det også mye lettere om du gir oss mer informasjon om hva du ønsker hjelp med.

I det minste post oppgaveteksten så kan vi gi deg tips og råd...

Lenke til kommentar

Oppgaven går ut på:

 

Lag en klasse Student med to objektvariabler

private String navn;

private antOppg;

 

antOppg holder orden påhvor mange av de oppgavene studenten har levert inn, som er godkjent. Klassen skal tilby følgende operasjoner:

public String finnNavn()

public int finnAntOppg()

public void økAntOppg(int økning)

public String toString

 

Så skal lage en klasse Oppgaveoversikt som holder orden på hvor mange oppgaver hver enkelt student har fått godkjent. Denne klassen skal ha to objektvariabler:

private Student[]studenter;

private int antStud = 0;

 

Følgende metoder skal være med:

Finn antall studenter registrert.

Finn antall oppgaver som en bestemt student har løst.

Registrer en ny student.

Øk antall oppgaver for en bestemt student.

og en toString()-metode.

 

Lag et enkelt klientprogram.

 

Problemet mitt er at jeg får ikke til å sy sammen klassene på en fornuftig måte i et klientprogram. Objektene, klassene og metodene bare surrer rundt hodet mitt.

Endret av Kimmeslasken
Lenke til kommentar

I så fall ville jeg laget en egen klasse som tar seg av innlesning fra brukeren.

Den bør gi brukeren mulighet til å velge mellom følgende oppgaver:

  • Registrere nye studenter (gjennom å kalle nyStud() i Oppgaveoversikt)
  • Øke antall godkjente oppgaver for en gitt student
  • Skrive ut informasjon om en enkelt studet
  • Skrive ut informasjon om alle studentene

Alle disse mulighetene bør lages så du går gjennom Oppgaveoversikt objektet, slik at alle student-objekter kun aksesseres gjennom denne.

Dvs. at alle kall går slik:

Kontroll -> Oppgaveoversikt -> Student

 

Jeg ville også latt alle utskrifter skje i Kontroll klassen, slik at kallene blir da

Kontroll -> Oppgaveoversikt -> Student -> Oppgaveoversikt -> Kontroll

Dette mest fordi det er mer modulært og gjør det lettere å endre utskriftsklassen senere hvis du vil inkludere GUI...

 

Ble dette forståelig?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...