Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
--- Einfach verkette Liste gibt mir nur ein Element zurück (http://www.informatikerboard.de/board/thread.php?threadid=1902)


Geschrieben von NewJavaBeginnerException am 29.08.2014 um 11:03:

  Einfach verkette Liste gibt mir nur ein Element zurück

Meine Frage:
Hey Leute!

Ich studiere seid April diesen Jahres Informationssystemtechnik und wollte jetzt Listen nochmals in meiner Freizeit wiederholen, da ich dass nie wirklich verstanden habe. Ich hatte vorher nie Informatik und habe mich auch vorher nicht mit irgendeiner Porgrammiersprache befasst. Am besten wäre es wenn ihr euch meinen Code anschauen würdet.Bei der Ausgabe wird mir immer nur ein Element angezeigt..
& ich weiß einfach nicht warum.. Mein Code befindet sich im Anhang.

Vielen Dank!

Meine Ideen:
Meine Ideen bzw. meine Ansätze befinden sich im Anhang.



Geschrieben von eulerscheZahl am 29.08.2014 um 11:37:

 

nächstes Mal den Code bitte als Text und nicht als Bild anhängen, die Texterkennung hat leider nicht so gut geklappt, weshalb ich das Ganze abtippen musste.

Für andere Leser:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
public class List {
	Node head = null;
	
	public void insert(int val) {
		Node a = new Node(val);
		a.next = head;
		head = a;
	}
	
	public void delete(int val) {
		Node p = head;
		Node prev = null;
		while (p != null && p.val != val) {
			prev = p;
			p = p.next;
		}
	}
	
	public String toString() {
		if (head != null) {
			StringBuffer sb = new StringBuffer();
			Node tmp = head;
			while(tmp != null) {
				sb.append(tmp.toString() + " ");
				tmp = tmp.next;
			}
			return sb.toString();
		}
		else {
			return "List empty";
		}
	}
}


code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
public class Node {
	int val;
	Node next;
	
	public Node(int val) {
		this.val = val;
	}
	
	public String toString() {
			return (new Integer(val)).toString();
	}
}


code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
public class Main {
	
	public static void main (String [] args) {
		List list = new List();
		
		list.insert(6);
		list.insert(7);
		list.insert(8);
		list.insert(9);
		System.out.println(list);
	}	
}


Ich habe dir die Ausgabefuktionen etwas umgeschrieben. Dein bisheriges Vorgehen war:
9 ausgeben: es gibt noch einen Wert nach der 9, also wird der nächste Wert ausgegeben, nicht die 9.
und das, bis du beim letzten Wert angekommen bist.



Geschrieben von NewJavaBeginnerException am 29.08.2014 um 12:47:

Daumen hoch!

Hey,

danke für die schnell Antwort! Ok, dass nächste Mal als Text-Datei.
Hast mir sehr geholfen!


Forensoftware: Burning Board, entwickelt von WoltLab GmbH