![]() |
[Inf] Sorteren op naam (Visual Cafe)
Voor informatica moet ik een applet maken die het volgende doet:
APPLET Cijferadministratie (Visual Cafe) * 2 invoervelden (Naam leerling en cijfer) * 3 knoppen ( voegtoe, sorteer op naam, sorteer op cijfer) * lijst (waar de gegevens in komen te staan) Het toevoegen lukt nog wel, maar nu is de bedoeling dat je het programma zo programmeert, dat hij kan sorteren (op naam en op cijfer). De voegtoeknop: void toevoegKnop_ActionPerformed(java.awt.event.ActionEvent event) { //ophalen van naam + cijfer String naam = leerlingVeld.getText(); int cijfer = Integer.parseInt(cijferVeld.getText()); //toevoegen naam en cijfer aan de lijst leerlingLijst.add(naam + " - " + cijfer); //toevoegen naam en cijfer aan de array leerlingRij leerlingRij[aantalleerlingen].naam = naam; leerlingRij[aantalleerlingen].cijfer = cijfer; //teller aantalleerlingen met 1 verhogen aantalleerlingen++; leerlingVeld.setText(""); cijferVeld.setText(""); } En dit heb ik geprobeerd met de sorteerknop: (op naam) void naamKnop_ActionPerformed(java.awt.event.ActionEvent event) { // indexRij ophalen ?? // als indexRij groter is dan indexRij + 1 // dan zet je indexRij in extra veld en indexRij + 1 in indexRij // en extra veld in indexRij + 1 // zo niet dan ga je naar de volgende // dat dan zo vaak doen als er aantal namen zijn // dan zet je de namen op de juiste plek String hulpveld = ""; int hulpcijfer = 0; for(int teller = 0; teller < aantalleerlingen; teller++) { for(int index = 0; index < aantalleerlingen -1; index++) { if(leerlingRij[index].naam.compareTo(leerlingRij[index+1].naam) > 0); { hulpveld = leerlingRij[index].naam; leerlingRij[index].naam = leerlingRij[index+1].naam; leerlingRij[index+1].naam = hulpveld; } } } leerlingLijst.removeAll(); for(int t = 0; t < aantalleerlingen; t++) { leerlingLijst.add(leerlingRij[t].naam + " - " + leerlingRij[t].cijfer); } } Je moet dus een hulpveld maken, zodat een naam die verplaatst moet worden tijdelijk ergens anders wordt neergezet. Alleen nu kom ik vast te zitten...meer weet ik niet! Wat moet ik doen om de applet werkend te maken? Alvast bedankt!!!! p.s.: Er zit een klasse bij, genoemd 'Leerling'. public class Leerling { public String naam; public int cijfer; } Ook boven de init, en in de init zelf is wat toegevoegd: /* A basic extension of the java.applet.Applet class */ import java.awt.*; import java.applet.*; public class cijferApplet extends Applet { //initialisatie en declaratie private int AANTAL = 30; //private Leering leerling = new Leerling(); //Voor een array geldt: private Leerling[] leerlingRij = new Leerling[AANTAL]; //Declaratie voor de teller van aantalleerlingen (positiebepaling) int aantalleerlingen = 0; public void init() { //initialiseren van de velden van de array leerlingRij for (int i = 0 ; i < AANTAL; i++) { leerlingRij[i] = new Leerling(); } // Take out this line if you don't use..........enz. |
Ik zal even zeggen hoe je algemeen een array van getallen sorteert. Dat kan je dan toepassen in je applet.
Code:
for(i=1;i<n;i++) |
| Alle tijden zijn GMT +1. Het is nu 01:49. |
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.