Beste mensen,
Ik zit diep in de shit met een JAVA opdracht voor school.
De bedoeling is om letters van het alfabet in een Binairysearchtree te plaatsten. Het invoegen is geen probleem. Het verwijderen is ook geen probleem. Alleen is de opdracht nu dat ik een minimum waarde (een letter dus) en een maximum waarde moet invoeren, waarna de applicatie de tussenliggende letters uit de boom moet halen. Ik gebruik de package van Weiss.
Het probleem zit in de functie:
private void cb_tweewaarden_actionPerformed
de code is:
Ik zit diep in de shit met een JAVA opdracht voor school.
De bedoeling is om letters van het alfabet in een Binairysearchtree te plaatsten. Het invoegen is geen probleem. Het verwijderen is ook geen probleem. Alleen is de opdracht nu dat ik een minimum waarde (een letter dus) en een maximum waarde moet invoeren, waarna de applicatie de tussenliggende letters uit de boom moet halen. Ik gebruik de package van Weiss.
Het probleem zit in de functie:
private void cb_tweewaarden_actionPerformed
de code is:
public Hoofdscherm()
{
super();
Boom = new BinarySearchTreeWithRank() ;
}
public void processEvent(java.awt.AWTEvent event)
{
defaultProcessEvent(event);
}
private void unhandledEvent( String listenerName, String methodName, java.lang.Object event )
{
}
public java.awt.Container getContentPane()
{
// Use the following if you inherit from a JFC container such as javax.swing.JFrame
// return super.getContentPane();
return this;
}
private boolean Hoofdscherm_windowClosing(java.awt.event.WindowEvent event)
{
setVisible(false);
destroy();
return false;
}
private void cb_stoppen_actionPerformed( java.awt.event.ActionEvent event )
{
System.exit(0);
}
private void cb_toevoegen_actionPerformed( java.awt.event.ActionEvent event )
{
boolean gelukt = false;
String let = textf_letter.getText();
try
{
if ((let).length() != 1)
{
gelukt = false;
throw new Exception();
}
else
gelukt = true;
}
catch (Exception e)
{
label_opmerking.setText("U dient maar 1 letter in te voeren");
}
if(gelukt == true)
{
try
{
if(Character.isLetter(let.charAt( 0 )))
gelukt = true;
else
{
gelukt = false;
throw new Exception();
}
}
catch (Exception e)
{
label_opmerking.setText("De ingevoerde waarde moet een letter zijn");
}
}
if(gelukt == true)
{
try
{
Boom.insert( new Letter(let));
textf_letter.setText("");
label_opmerking.setText("");
}
catch (Exception e)
{
label_opmerking.setText("De letter komt al voor in de boom");
}
}
}
private void cb_tweewaarden_actionPerformed( java.awt.event.ActionEvent event )
{
String min = textf_Laagste.getText();
String max = textf_hoogste.getText();
Recursie(min, max);
}
private void cb_verwijderen_actionPerformed( java.awt.event.ActionEvent event )
{
boolean gelukt = false;
String let = textf_letter.getText();
try
{
if ((let).length() != 1)
{
gelukt = false;
throw new Exception();
}
else
gelukt = true;
}
catch (Exception e)
{
label_opmerking.setText("U dient maar 1 letter in te voeren");
}
if(gelukt == true)
{
try
{
if(Character.isLetter(let.charAt( 0 )))
gelukt = true;
else
{
gelukt = false;
throw new Exception();
}
}
catch (Exception e)
{
label_opmerking.setText("De ingevoerde waarde moet een letter zijn");
}
}
if(gelukt == true)
{
try
{
Boom.remove( new Letter(let));
textf_letter.setText("");
label_opmerking.setText("De letter is verwijderd");
}
catch (Exception e)
{
label_opmerking.setText("De letter komt niet voor in de boom");
}
}
}
private void cb_alfabet_actionPerformed( java.awt.event.ActionEvent event )
{
Letter x;
for( int i = 0; ; i++ )
{
try
{
x = ((Letter) Boom.findKth( i ));
}
catch (Exception e)
{
break;
}
System.out.print( x.getWaarde() );
}
System.out.println("");
}
private void Recursie ( String mi, String ma )
{
//Letter min, max;
//try
//{
//min = new Letter(mi);
//max = new Letter(ma);
//
//} catch (Exception e) {}
//try
//{
//System.out.println(Boom.find());
//Recursie(mi,ma);
//}
//catch (Exception e) {}
}
// add your data members here
BinarySearchTreeWithRank Boom;
Letter L;
}