Hallo,
ich soll einen Iterator in meine Klasse Queue einbauen. Weiß leider nicht wo ich den Iterator genau "einbauen" muss bzw. wie einer programmiert wird.
KAnn mir jemand weiterhelfen?
ich soll einen Iterator in meine Klasse Queue einbauen. Weiß leider nicht wo ich den Iterator genau "einbauen" muss bzw. wie einer programmiert wird.
KAnn mir jemand weiterhelfen?
Code:
import java.util.LinkedList;
import java.util.NoSuchElementException;
import java.io.*;
public class Queue {
private LinkedList list ;
public Queue( ) {
list = new LinkedList( );
}
public boolean isEmpty( ) {
return list.isEmpty( );
}
public void makeEmpty( ) {
list.clear( );
}
public void enqueue( Object o ) {
list.addLast( o );
}
public Object front( ) {
if( isEmpty( ) )
throw new NoSuchElementException( "Queue ist leer." );
return list.getFirst( );
}
public void dequeue( ) {
if( isEmpty( ) )
throw new NoSuchElementException( "Queue ist bereits leer." );
list.removeFirst( );
}
public Object frontAndDequeue( ) {
if( isEmpty( ) )
throw new NoSuchElementException( "Queue ist bereits leer." );
Object frontElement = list.getFirst( );
list.removeFirst( );
return frontElement;
}
public String toString( ) {
return list.toString( );
}
public static void main( String[] args ) throws IOException {
}
System.out.println(
"e -- Queue leer machen (makeEmpty)\n" +
"n -- Element hinten einfuegen (enqueue)\n" +
"f -- Vorderstes Element ausgeben (front)\n" +
"d -- Vorderstes Element loeschen (dequeue)\n" +
"p -- Queue von vorn nach hinten ausgeben (print)\n");
Queue queue = new Queue( );
BufferedReader in = new BufferedReader( new InputStreamReader( System.in ) );
char command = ' ';
while( command != 'q' ) {
switch( command ) {
case ' ' : { // Tue nichts
break;
}
case 'e' : { // Queue leer machen
queue.makeEmpty( );
break;
}
case 'n' : { // String hinten einfuegen
System.out.println( "\tEinen String eingeben:" );
queue.enqueue( in.readLine( ) );
break;
}
case 'f' : { // Vorderstes Element ausgeben
try {
System.out.println( "Vorderstes Element: " + queue.front( ) );
}
catch( NoSuchElementException e ) { System.out.println( e ); }
break;
}
case 'd' : { // Vorderstes Element loeschen
try {
queue.dequeue( );
}
catch( NoSuchElementException e ) { System.out.println( e ); }
break;
}
case 'p' : { // Queue von vorn nach hinten ausgeben
System.out.println( "Queue:\n" + queue );
break;
}
default :
System.out.println( "Kommando " + command + " existiert nicht." );
}
System.out.println( "Bitte Kommando eingeben:" );
try {
command = in.readLine( ).charAt( 0 );
}
catch( IndexOutOfBoundsException e ) {
System.out.println( "Keine leeren Kommandos eingeben!" );
command = ' ';
continue;
}
}
} // main
} // class Queue