Problem mit Methode zum Einfügen eines Elements ans Listenende

Cherry07

Mitglied
Halli Hallo Zusammen,

ich hoffe Ihr könnt mir beim folgendes Problem helfen:

In meiner selbst programmierten Liste soll ein Element statt am Listenanfang am Listenende eingefügt werden. Leider habe ich dass nach längerem Versuchen net richtig hinbekommen.
Die Methode fügt mir nur das erste Element ein, die anderen werden außen vor gelassen******

Code:
class Liste
{
	public static class ListElem
	{
		int data;

		ListElem next;
		
		ListElem(int data, ListElem next)
			{
				this.data = data;
				this.next = next;
			}
	}

	private ListElem header;
			
	
	public void add(int data)
	{
		if (header == null)
			header = new ListElem(data, null);
		
		else {
			ListElem currentE = header;
			ListElem nextE = currentE.next;
			if (nextE == null) {
				nextE = new ListElem(data, null);
				currentE = nextE;
				nextE = currentE.next;				
			}
		}
	} 

        public int get(int index) {
		ListElem iter = header;
		int i = 0;
		int elem = 0;
			
		while (iter != null) {
			i = i+1;
			
			if (i == index) {
				elem = iter.data;
			}
					
			iter = iter.next;
		}
		return elem; 
	}

        public int size() {
		int size = 0;
		ListElem iter = header;
			
		while (iter != null) {
			size = size+1;
			iter = iter.next;
		}
		return size;
	}

	public static void main (String args[])
	{
		Liste list = new Liste();
		list.add(1);
		list.add(2);
		list.add(3);
		list.add(4);
		list.add(5);
		list.add(6);
		
		for (int i = 0; i <= list.size(); i++) {
			if (i > 0)
				System.out.println(list.get(i));
		}
		
	}
}

Vielen Dank im Voraus:).

Viele Grüße,

cherry07
 
Java:
public void add_am_ende(int data)
{
    if (header == null)
        header = new ListElem(data, null);
    else{
            ListElem currentE = header;
            while(currentE.next!=null)
                currentE=currentE.next;
            currentE.next=new ListElem(data, null);
    }
}
 
Zurück