wollt mal fragen, warum ich immer nur das letzte Objekt der List bekomme.... Hab mal den Quelltext drangehängt. Hoffe ihr könnt mir helfen.
~~~~~~~~~~~~~~~~~~~~~~~~~
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.util.*;
import java.sql.*;
public class Spiel{
public static void main (String [] args){
LinkedList spielerliste = new LinkedList();
Gruppe.anzahl_der_spieler();
for (int i = 0; i < 2; i++){
Spieler temp = new Spieler();
System.out.println("Name des Spielers: ");
Spieler.spielername = Input.readString();
spielerliste.addLast(new Spieler());
}
Iterator it = spielerliste.iterator();
while (it.hasNext()){
Spieler.print();
}
Dir scheint noch nicht klar zu sein was ein Objekt eigentlich ist. Ganz davon abgesehen das dein Iterator eigentlich gar nichts macht, wird das was du vorhast mit statischen Variablen sowieso nicht funktionieren.
Dir scheint noch nicht klar zu sein was ein Objekt eigentlich ist. Ganz davon abgesehen das dein Iterator eigentlich gar nichts macht, wird das was du vorhast mit statischen Variablen sowieso nicht funktionieren.
Hi, danke für die Kritik. Hab wohl einiges verwechselt. Ich dachte eine "static" Variable ist global verfügbar. Der Iterator macht auch nur scheiß, so bring er mir in einer Endlosschleife den letzten Eintrag der Liste. Aber meine Frage: Wie kann ich das jetzt abstellen?
package game;
/*
* Spiel.java
*/
import java.io.*;
import java.util.*;
public class Spiel{
public static void main(final String [] args){
final Gruppe gruppe = new Gruppe();
for (int i = 0; i < gruppe.getAnzahlSpieler(); i++){
gruppe.add(new Spieler());
}
for (Spieler spieler : gruppe.getSpielerliste()) {
System.out.println(spieler);
}
}
}
class Spieler {
final private Input input = new Input();
private String spielername;
private int punkte;
public Spieler(){
System.out.println("Name des Spielers: ");
spielername = input.readString();
}
public String toString(){
return "Spielername: " + getSpielername()+ "\nPunkte: " + getPunkte();
}
public String getSpielername() {
return spielername;
}
public int getPunkte() {
return punkte;
}
public void setPunkte(final int punkte) {
this.punkte = punkte;
}
}
class Gruppe{
final private Input input = new Input();
private int anzahlSpieler;
final private List<Spieler> spielerliste = new LinkedList<Spieler>();
public Gruppe(){
System.out.println("Anzahl der Spieler: ");
anzahlSpieler = input.readInt();
}
public int getAnzahlSpieler() {
return anzahlSpieler;
}
public List<Spieler> getSpielerliste() {
return Collections.unmodifiableList(spielerliste);
}
public void add(final Spieler spieler) {
spielerliste.add(spieler);
}
}
class Input{
final private BufferedReader in;
public Input(){
in=new BufferedReader(new InputStreamReader(System.in));
}
public int readInt(){
try {return (Integer.parseInt(in.readLine()));} catch (Exception e) {return 0;}
}
public String readString(){
try {return (in.readLine());} catch (Exception e) {return "";}
}
}
Der Beitrag wurde editiert von:
André Uhres, 30.10.2006, 09:25