Doppelt verkettete Liste

PPhilipp

Grünschnabel
Hi,

In die Kommandozeile sollen solange Zahlen eingelesen werden bis die Leertaste betätigit wird.
Diese sollen dann in der ursprünglichen und umgekehrten Reihenfolge ausgegeben werden.
kann ich dazu eine doppelt verkettete Liste verwenden
 
Hallo!

Schau mal hier:
Code:
/*
 * Created on 10.01.2005@19:10:25
 *
 * TODO Licence info
 */
package de.tutorials;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * @author Administrator
 * 
 * TODO Explain me...
 */
public class LinkedListExample {

	public static void main(String[] args) {
		new LinkedListExample().doIt();
	}

	/**
	 *  
	 */
	private void doIt() {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String line;

		ListNode node = null, current = null;

		try {
			while (!(line = br.readLine()).equals(" ")) {
				Integer i = Integer.valueOf(line);
				node = new ListNode(i);
				if (current != null) {
					current.addNode(node);
				}
				current = node;
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		while (current != null) {
			System.out.println(current.data);
			current = current.previous;
		}
	}

	class ListNode {
		protected ListNode previous;

		protected ListNode next;

		protected Object data;

		public ListNode(Object data) {
			this.data = data;
		}

		public void addNode(ListNode other) {
			if (other == null)
				throw new IllegalArgumentException("other must be not null!");
			other.previous = this;
			this.next = other;
		}
	}
}

Gruß tom
 
Danke Tom,
hab noch ne Frage dazu.
Für was steht dieses "package de.tutorials;"

Bekomm da ne Excepiton:
java.lang.NoClassDefFoundError: LinkedListExample (wrong name: de/tutorials/LinkedListExample)
 
Hallo!

Das is das package unter dem ich die Datei abgelegt habe.
Sprich entweder entfernst du den package Eintrag oder:

du stehst im Verzeichnis X
und legst mit mkdir de\tutorials
die Verzeichnisstruktur an und kopierst die Datei SearchTreeExample.java nach tutorials.
Danach gehst du wieder ins Verzeichnis X und rufst javac de/tutorialsSearchTreeExample.java auf.
Anschließend gibst du (wieder im Verzeichnis X) java de.tutorials.SearchTreeExample ein.

Gruß Tom
 
Ok alles klar, danke Tom
Wird Zeit das ich Java lerne :)
Wie implementiere ich die Abbruchbedingen mit der Leertaste oder ist das schon da drin
 
Warum bekomme ich immer diese Fehlermeldung wenn ich was eingebe und Enter drücke bzw. was bewirkt jetzt die Leertaste in diesem Fall

Exception in thread "main" java.lang.NumberFormatException: For input string: "645378 5224"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:477)
at java.lang.Integer.valueOf(Integer.java:574)
at LinkedListExample.doIt(LinkedListExample.java:30)
at LinkedListExample.main(LinkedListExample.java:16)
 
Deine eingegebene zahl ist, so wie ich es sehe, zu gross für den Datentyp integer.
Ich bin jetzt nicht asicher wie gross ein Integer werden darf, aber 6 Milliarden sind sicher zu gross.
 
Zurück