Registreer FAQ Ledenlijst Berichten van vandaag


Ga terug   Scholieren.com forum / School & Studie / Huiswerkvragen: Exacte vakken
Reageren
 
Topictools Zoek in deze topic
Oud 15-10-2005, 12:55
TLO
Avatar van TLO
TLO is offline
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.
__________________
Je moet wat.

Laatst gewijzigd op 15-10-2005 om 12:58.
Met citaat reageren
Advertentie
Oud 15-10-2005, 19:24
IvdSangen
IvdSangen is offline
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++)
{
  temp=array[i];
  j=i;
  while ((temp>array[j-1]) && (j>0))
  {
    array[j]=array[j-1];
    j--;
  }
  array[j]=temp;
}
Het algoritme heet insertion sort. Het komt erop neer dat dat je bij het tweede element begint en kijkt waar die in het array gestopt moet worden. Voor het element wat je inspecteert is het array al gesorteerd dus kun je alles ervoor telkens 1 plaats opschuiven totdat je op de goeie plek zit waar je je getal kwijt wil. Nu heb je een array wat 1 getal meer gesorteerd heeft. Dat doe je dan dus voor alle getallen.
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 20:00.