boogler boogler
forum van 1tx2a/b
 
 FAQFAQ   ZoekenZoeken   GebruikerslijstGebruikerslijst   GebruikersgroepenGebruikersgroepen   RegistrerenRegistreren 
 ProfielProfiel   Log in om je privéberichten te bekijkenLog in om je privéberichten te bekijken   InloggenInloggen 

Bop Student

 
Nieuw onderwerp plaatsen   Reageren    boogler -> samenvattingen
Vorige onderwerp :: Volgende onderwerp  
Auteur Bericht
Vincent



Geregistreerd op: 06 Okt 2010
Berichten: 80
Woonplaats: Tremelo

BerichtGeplaatst: 25-11-2010 18:25:37    Onderwerp: Bop Student Reageren met citaat

Code:
 


public class Student {

   //Instantievariabelen
private String naam;
private String voornaam;
private int[] punten = new int[6];

//Constructors
public Student(){
   
}

public Student (String n, String v){
   this.setNaam(n);
   this.setVoornaam(v);
   this.initialiseerRij();
}

//Setters
public void setNaam(String n){
   if (n != null){
      this.naam = n;
   }
}

public void setVoornaam(String v){
   if (v != null){
      this.voornaam = v;
   }
}

//Getters
public String getNaam (){
   return this.naam;
}

public String getVoornaam(){
   return this.voornaam;
}

public int getPuntOpPositie(int n){
   return punten[n];
}

public int aantalPunten(){
   return punten.length;
}

public int[] getPunten(){
   return this.punten;    
}

public int aantalPuntenIngevuld(){
   int n = 0;
   for(int i = 0; i < punten.length; i++){
      if (punten[i] != -1){
         n++;
      }
   }
   return n; 
}

//Andere Methodes;
public void initialiseerRij(){
   for (int i =0; i <this.punten.length;i++){
      this.punten [i] = -1;
   }
}

public void geefIn(int p){
   int i = 0;
   boolean stop = false;
   if (p >= 0 && p <=20){
      while( i <this.punten.length && stop ==false){
         if (this.punten[i]== -1){
            this.punten[i] = p;
            stop = true;
         }
      i++;
      }
   }
}

public int gemiddelde(){
   int gem = 0;
   int som =0;
   int n =0;
   for (int i=0 ; i <this.punten.length; i++){
      if (this.punten[i] != -1){
         som = som + this.punten[i];
         n++;
      }
   }
   gem = som /n;
   return gem; 
}

public int hoogstePunt(){
   int hoogste = -1;
   for (int i = 0; i <this.punten.length; i++){
      if (this.punten[i] > hoogste){
         hoogste = this.punten[i];
      }
   }
   return hoogste;
}

public int laagstePunt(){
   int laagste = 20;
   for (int i=0;i< this.punten.length;i++){
      if (this.punten[i] < laagste){
         laagste = this.punten[i];
         }
   }
   return laagste;
}

public String toString(){
   String s = new String(this.getVoornaam() + " " + this.getNaam() + "\n");
   for (int i = 0; i < this.punten.length; i++){
      s = s + ("Vak " + i + ": " + this.punten[i] + "\n");
   }
   return s;
}

public boolean isZelfde(Student s2){
   boolean gelijk = false;
   int [] temp1 = new int[21];
   int [] temp2 = new int[21];
   int n = 0;
   
   if (s2 != null){
      if (this.getNaam().equals(s2.getNaam()) && this.getVoornaam().equals(s2.getVoornaam())) {
         
         for (int i =0; i < this.punten.length; i++){
            if (this.punten[i] == -1){
               temp1[20]= temp1[20] + 1;
            }
            else{
               temp1[this.punten[i]]= temp1[this.punten[i]] + 1; 
            }
         }
         
         for (int i = 0; i < s2.punten.length; i++){
            if (s2.punten[i] == -1){
               temp2[20] = temp2[20] +1; 
            }
            else{
               temp2[s2.punten[i]] = temp2[s2.punten[i]] + 1;
            }
         }
         gelijk = true;
         while (n < 21  & gelijk == true){
            if (temp1[n] != temp2[n]){
               gelijk = false;
            }
            n++;
            
         }
         }
   }
   
   return gelijk;
   
}

public boolean isGeslaagd(){
   boolean geslaagd = false;
   if (this.aantalPuntenIngevuld() != 0){
   if (this.gemiddelde() >=10){
      geslaagd = true;
   }
   }
   return geslaagd;
}

public int totaalProcent(){
   int procent = 0;
   procent = this.gemiddelde() * 5;
   return procent;
}

public int[] kopieerPuntenlijst(){
   int[] kopie = new int[this.punten.length];
   for (int i = 0; i<this.punten.length; i++){
      kopie[i] = this.punten[i];
   }
   return kopie;
}

public void verwijderPunt(int p){
   for (int i = p; i < this.punten.length - 1; i++){
      this.punten[i] = this.punten[i+1];
   }
   this.punten[this.punten.length - 1] = -1;
   
}
}


Terug naar boven
Profiel bekijken Stuur privébericht
userkef1992



Geregistreerd op: 06 Okt 2010
Berichten: 220

BerichtGeplaatst: 29-11-2010 21:22:42    Onderwerp: Reeks Reageren met citaat

Code:



public class Reeks {
private String naam;
private Student[] studenten = new Student[25];
public Reeks (String naam){
this.naam = naam;
}
public void voegStudentToe(Student student){
   int x=this.legepositie();

       /* int x = 0
   while (x<studenten.length-1&&studenten[x] != null){
      x++;
   }*/

       if (x > -1){
   this.studenten[x]=student;
       }
}
public void voegStudentToe(String naam){
   voegStudentToe(new Student(naam));
   }
public void geefIn(int p, String naam){
   int positie=bestaatStudent(naam);
   if (positie > -1){
      studenten[positie].geefIn(p);
   }else{
      int legepositie = legepositie();
      if (legepositie != -1){
         studenten[legepositie]= new Student(naam);
         studenten[legepositie].geefIn(p);
      }
   }
}

public int legepositie(){
   int i = 0;
   int leeg = -1;
      boolean stop = false;
         while( i <this.studenten.length && stop ==false){
            if (this.studenten[i]== null){
               stop = true;
               leeg = i;
            }
         i++;
         }
         return leeg;
      }
public int bestaatStudent(String naam){
   boolean gevonden = false;
   int i = 0;
   int pos = -1;
   while (i<studenten.length && gevonden == false){
      if(studenten[i]!= null && studenten[i].getNaam().equals(naam)){
         gevonden = true;
         pos = i;
            }
      i++;
         
      }
      return pos;
}
}

_________________
Citaat:
if it ain't broke, fiddle with it until it is

534907


Laatst aangepast door userkef1992 op 30-11-2010 14:31:55; in totaal 3 keer bewerkt
Terug naar boven
Profiel bekijken Stuur privébericht E-mail versturen MSN Messenger
userkef1992



Geregistreerd op: 06 Okt 2010
Berichten: 220

BerichtGeplaatst: 29-11-2010 21:23:16    Onderwerp: UI Reageren met citaat

public class UI {
public static void main(String[]args){
Student seppe = new Student("seppe");
seppe.geefIn(4);
Reeks reeks2 = new Reeks("1TXREEKS2");
reeks2.voegStudentToe("Sander");
reeks2.voegStudentToe(seppe);
reeks2.geefIn(10,"sander");
}
}
_________________
Citaat:
if it ain't broke, fiddle with it until it is

534907
Terug naar boven
Profiel bekijken Stuur privébericht E-mail versturen MSN Messenger
ilias



Geregistreerd op: 06 Okt 2010
Berichten: 110

BerichtGeplaatst: 29-11-2010 21:43:45    Onderwerp: Re: Reeks Reageren met citaat

userkef1992 schreef:
Code:

public void voegStudentToe(Student student){
   int x=0;
   while (x<studenten.length&&studenten[x] != null){
      x++;
   }
   studenten[x]=student;

}

Da gaat misgaan als uw reeks volzit en ge probeert er nog ene toe te voege. X wordt 25 en dan stopt de while, aangezien x == studenten.length. En dus, gaat hij die nieuwe student in studenten[25] steken, en dan een ArrayIndexOutOfBoundsException throwe.

Betere oplossing lijkt mij:
Code:
int i = 0;
boolean gelukt = false;

while (!gelukt && i < studenten.length) {
        if (studenten[i] == null) {
                studenten[i] = student;
                gelukt = true;
        } else {
                i += 1;
        }
}


Edit:
of beter nog, gebruik uw methode om een legeplaats te vinde, en als die er is, zet de student dan daar. Ge hebt die methode nu toch al; dus houde we ons aan het basisprincipe van OOP: DRY (don't repeat yourself)
Terug naar boven
Profiel bekijken Stuur privébericht
userkef1992



Geregistreerd op: 06 Okt 2010
Berichten: 220

BerichtGeplaatst: 29-11-2010 23:57:32    Onderwerp: hmmm Reageren met citaat

stel nu dat ge de while loop doet tot rijlengte -1?
[edit] nee, doeme, me dumb, dan gaat dieje ni controleren of die != null
_________________
Citaat:
if it ain't broke, fiddle with it until it is

534907
Terug naar boven
Profiel bekijken Stuur privébericht E-mail versturen MSN Messenger
ilias



Geregistreerd op: 06 Okt 2010
Berichten: 110

BerichtGeplaatst: 30-11-2010 13:28:42    Onderwerp: Re: hmmm Reageren met citaat

Code:
function voegStudentToe(Student student) {
        int positie = this.legepositie();
        if (positie >= 0) {
                this.studenten[positie] = student;
        }
}
Terug naar boven
Profiel bekijken Stuur privébericht
userkef1992



Geregistreerd op: 06 Okt 2010
Berichten: 220

BerichtGeplaatst: 30-11-2010 14:32:38    Onderwerp: Re: hmmm Reageren met citaat

ilias schreef:
Code:
function voegStudentToe(Student student) {
        int positie = this.legepositie();
        if (positie >= 0) {
                this.studenten[positie] = student;
        }
}


moeten de andere methodes dan ook aangepast worden met "this."?
_________________
Citaat:
if it ain't broke, fiddle with it until it is

534907
Terug naar boven
Profiel bekijken Stuur privébericht E-mail versturen MSN Messenger
ilias



Geregistreerd op: 06 Okt 2010
Berichten: 110

BerichtGeplaatst: 30-11-2010 15:06:35    Onderwerp: Re: hmmm Reageren met citaat

userkef1992 schreef:
ilias schreef:
Code:
function voegStudentToe(Student student) {
        int positie = this.legepositie();
        if (positie >= 0) {
                this.studenten[positie] = student;
        }
}


moeten de andere methodes dan ook aangepast worden met "this."?
Neuh, da's gewoon wa da ge zelf het liefst heb. Ik gebruik nogal graag heel veel "this"; kwestie van het duidelijk te houde da ge ni zomaar functies oproept, ma methodes op een object, en dan wel op het "eigen" object.
Terug naar boven
Profiel bekijken Stuur privébericht
Berichten van afgelopen:   
Nieuw onderwerp plaatsen   Reageren    boogler -> samenvattingen Tijden zijn in GMT + 1 uur
Pagina 1 van 1

 
Ga naar:  
Je mag geen nieuwe onderwerpen plaatsen in dit subforum
Je mag geen reacties plaatsen in dit subforum
Je mag je berichten niet bewerken in dit subforum
Je mag je berichten niet verwijderen in dit subforum
Je mag niet stemmen in polls in dit subforum


Wilt u geen reclame op dit forum en genieten van extra voordelen? Klik dan vlug hier voor meer informatie!
 

Powered by phpBB
immo op Realo
Maak snel, eenvoudig en gratis uw eigen forum: Gratis Forum