Epyon
Legacy Member
Ik moet een klein appletje schrijven om gegevens van studenten en werknemers bij te houden. Deze worden via textfields ingevoerd en in een array geplaatst (uiteraard afhankelijk of het studenten- dan niet werknemergegevens zijn).
De twee array's zijn meervoudig (matrices dus) en bevatten 7 (0 inclusief) kolommen en maximaal 50 rijen.
Het volgende probleem stelde zich: ik moet een subroutine schrijven die in kolom 5 van iedere rij naar een bepaalde waarde zoekt (in dit geval de string "3"). Indien deze waarde gevonden wordt moet die volledige rij naar een nieuwe array gekopieerd worden. Maw, ik poog een subroutine te schrijven die de eerste array's kan sorteren op basis van een bepaalde waarde uit één kolom.
Hieronder vind je een uittreksel van mijn code (het is een handler, het sorteren mag pas gebeuren als er op een knop gedrukt wordt). De code wordt succesvol gecompiled, maar de uitvoering lukt niet.
Iemand een idee? Als het nodig is gooi ik mijn volledige code wel online, het is echter wat lijvig (naar mijn bescheiden normen toch
). Een andere methode om de array te ordenen op basis van een waarde in een bepaalde kolom is ook welkom.
De twee array's zijn meervoudig (matrices dus) en bevatten 7 (0 inclusief) kolommen en maximaal 50 rijen.
Het volgende probleem stelde zich: ik moet een subroutine schrijven die in kolom 5 van iedere rij naar een bepaalde waarde zoekt (in dit geval de string "3"). Indien deze waarde gevonden wordt moet die volledige rij naar een nieuwe array gekopieerd worden. Maw, ik poog een subroutine te schrijven die de eerste array's kan sorteren op basis van een bepaalde waarde uit één kolom.
Hieronder vind je een uittreksel van mijn code (het is een handler, het sorteren mag pas gebeuren als er op een knop gedrukt wordt). De code wordt succesvol gecompiled, maar de uitvoering lukt niet.
Code:
public class Knop3handler implements ActionListener {
public void actionPerformed( ActionEvent e ) {
for( int i=0; i < studentenRij.length; i++ ){
if( studentenRij[i][5] == "3"){ //scannen in gegevensarray studenten, kolom 5
for (int kol=0; kol < 7; kol++ ){ //kolommen kopieren
rangeerRij[rij][kol] = studentenRij[i][kol];
}
rij=rij+1; //rij wordt geinitialiseerd als 0, zorgt ervoor dat de nieuwe array logisch wordt opgebouwd (rij per rij)
}
}
repaint();
}
}
Iemand een idee? Als het nodig is gooi ik mijn volledige code wel online, het is echter wat lijvig (naar mijn bescheiden normen toch
). Een andere methode om de array te ordenen op basis van een waarde in een bepaalde kolom is ook welkom.
).