Point in ArrayList packen

Status
Nicht offen für weitere Antworten.

Abbadon

Mitglied
Hallo habe da ein Problem mit einer aufgabe. Sie ist fürs Studium nur mein Tutor hält es iwie nicht für nötig mir auch nur im geringsten mal auf meine Fragen zu antworten.

Mein Problem ist: Ich habe ein MosaikSpiel erstellt mit einer Verschiedene Rastereinstellung und farbeinstellung. Ich soll nun ein StatistikModel erstellen das mir im CMD die Zeilen und Spalten anzahl wiedergibt welche ich angeklickt habe.
Ich bekomme es soweit hin das mir mein CMD die letzte spalte und zeile anzeigt die geklickt wurde, allerdings nicht die die ich davor angeklickt habe.
Jetzt habe ich gedacht die Zeilen und Spalten in eine ArrayList zu packen nur bekomme ich es einfach nicht hin das es läuft.#
Java:
import java.awt.Point;



public class StatistikModel implements ModelIF
{
	private int zeile, spalte;
	private Point klick;


	public StatistikModel()
	{
	}
	public void action(int zeile, int spalte)
	{
		klick = new Point(zeile, spalte);
		this.zeile=zeile;
		this.spalte=spalte;
	}

	public String getStatistikInfo()
	{

		String returnString = "Anzahl Versuche: ";
		returnString += "zeile "+zeile + " / spalte " +spalte;
		returnString += "\n";
		return returnString;
	}


	public void putObj(int zeile, int spalte, MosaikIF mObj)
	{
		// in diesem Model kein Implementierungsbedarf
	}
}
soweit habe ich den Code nur wie bekomme ich das alles ins Array gepackt?

Gruß Mike
 
S

SlaterB

Gast
was alles? einen Point oder ein StatistikModel?
als allererstes brauchst du einen Platz für die Liste oder das Array und musst dort die Variable deklarieren, ein Objekt erzeugen

irgendwelche Kenntnisse zu Array oder Listen vorhanden?
 

Abbadon

Mitglied
Also habe nur ein paar kenntnisse zu dem umgang mitz Arrays und Lists. Ich soll die Points in nem Array packen damit jeder klick registriert wird und in der cmd Protokolliert sobald ich das applet schlíesse über den appletviewer. Ich habe die ausgabe bereits in der Destroy methode geschrieben.
Nur soll das point objeckt jeden klick in einem array speichern und das soll mir alles in der CMD ausgegeben werden.
 
S

SlaterB

Gast
wie gesagt:
1. irgendwo List list = .. oder Array array = ..
2. an der richtigen Stelle, anscheinend action(), list.add(point) oder was auch immer
3. am Ende ausgeben

da ist doch an sich nix dabei
 

Abbadon

Mitglied
Lol

ok das war wirklich nicht schwer muss ich nun gestehen.

Aber eine frage habe ich da jetzt doch noch. Wie kann ich die Koordinaten x und y umschreiben das mir die CMD nicht immer java.awt.Point[x=00, y=01] ausgibt sondern nur zeile=00, spalte=01

Gruß Mike
 

Abbadon

Mitglied
Ah der mist funkt immer noch nicht wie es soll.

Java:
import java.awt.Point;
import java.util.*;


public class StatistikModel implements ModelIF
{
	private int x, y;
	private Point point;


	private ArrayList list = new ArrayList();
	public StatistikModel()
	{
	}
	public void action(int zeile, int spalte)
	{

		point = new Point(x, y);
		this.x= zeile;
		this.y=spalte;
		list.add(point);
		System.out.println("Zeile: " +point.getX().list());

	}



	public String getStatistikInfo()
	{

		String returnString = "Anzahl Versuche: ";
		returnString = "zeile="+point.getX()+ " / spalte " +point.getY();
		returnString += "\n";

		return returnString;

	}


	public void putObj(int zeile, int spalte, MosaikIF mObj)
	{
		// in diesem Model kein Implementierungsbedarf
	}
}

soweit so gut. Alles läuft nur die ausgabe erfolgt immer noch [java.awt.Point[x=00, y=00]]´
ich habe schon versucht mit System.out.println("Zeile: " +list.getX().getX()); läuft nicht.
Ich weiss nicht mehr was ich noch machen solol derweil.
Kann mir da mal jemand einen konkreten hinweis zu geben wie genau ich das hinbekomme das mein CMD mir Zeile: 00 / Spalte00 Zeile:01/Spalte:04 etc.
 
S

SlaterB

Gast
worum gehts denn genau,
in deinem Programm sind zwei Stellen, die etwas damit zu tun haben könnten:
> System.out.println("Zeile: " +point.getX().list());

point.getX() ist gut, aber das ist ein int-Wert, was soll danach noch .list()?

> returnString = "zeile="+point.getX()+ " / spalte " +point.getY();

sieht sogar ganz ok aus,
der String "Anzahl Versuche:" wird natürlich sofort überschrieben wenn du returnString einen neuen String zuweist,

als dritte Variante dann aus deinem Test
> nur die ausgabe erfolgt immer noch [java.awt.Point[x=00, y=00]]´
das passt zu nichts aus dem Programm

und noch eine vierte Variante:
> System.out.println("Zeile: " +list.getX().getX());
list ist wahrscheinlich die ArrayList, da gibt es keine Methode getX(), insofern wieder seltsamer Code

-----

den Rückgabewert von getStatistikInfo() ausgeben, das wär doch eine gute Richtung

Fehlermeldungen immer komplett posten, nicht 'das geht nicht'..
 

Abbadon

Mitglied
Also das problem das ich damit habe ist das. In der ArrayList packe ich die ganzen Point kooridnaten. Also ich lasse jden Klick registrieren.
In dem String möchte ich jeden registrierten klick ausgeben lassen. Wenn ich dann aber schreiben returnString +="Zeile: " +list); bekomme ich alle point koordniaten ausgegeben und das führt dann zu einer endlos langen liste von [java.awt.Point[x=01, y=01]] [java.awt.Point[x=02, y=04]] und so weiter.
was ich möchte ist das der mir die Liste ausgibt und zwar untereinander aber eben in diese form:
zeile 01/ spalte01
zeile 04/splate 02

und da fängt das problem bei mir an. Ich weiss nicht wie ich aus der ArrayList die punkte so ausgegeben bekomme.

Also fehlermeldungen habe ich immer beseitigt.
> System.out.println("Zeile: " +list.getX().getX());
weglässt klappt der code auch also die zeiel sollte nimmer dabei sein. Soweit Läuft der code nur die ArrayList ausgabe läuft nicht wie sie soll.

Gruß Mike
 
S

SlaterB

Gast
übe erstmal die Ausgabe eines Punktes, und danach ist es das immergleiche Konzept für viele Elemente:
eine Schleife

for ... {
string += beschreibung für einen Punkt
}
 

faetzminator

Gesperrter Benutzer
Du kannst [c]public String toString()[/c] überschreiben, dann wird dies mit [c]obj.toString()[/c] in [c]System.out.println(Object obj)[/c] ausgegeben.
 

Abbadon

Mitglied
So havbe es nun endlich hinbekommen mit zwei Listen.
Habe aber noch ne frage ob ihr es so lassen würdet oder ob noch iwo verbesserungs bedarf eurer Seite besteht.
Die ausgabe schaut nun so aus
[zeile = 01 / spalte =03
, zeile = 04 / spalte=01
etc]
meint ihr man kann es so lassen oder gibt es noch ein trick die eckigen klammern weg zu bekommen.
Java:
import java.awt.Point;
import java.util.*;

public class StatistikModel implements ModelIF
{
	private Point point;

	private String returnString;
	private List list = new Vector();
	private List list1 = new Vector();
	public StatistikModel()
	{

	}
	public void action(int zeile, int spalte)
	{
		list.add(new Point(zeile, spalte));
		returnString ="Zeile: " +zeile+ "/ Spalte: " +spalte+ "\n";
		list1.add(returnString);
	}

	public String getStatistikInfo()
	{
			String versuchString;
			versuchString = "Anzahl Versuche: "+ "\n" +list1;

			return versuchString;
	}

	public void putObj(int zeile, int spalte, MosaikIF mObj)
	{
		// in diesem Model kein Implementierungsbedarf
	}
 
S

SlaterB

Gast
> meint ihr man kann es so lassen

keine Meinung zum Sylistischen,
wenn es eine Aufgabe ist, dann könnte aber die Verwendung von List.toString() als besonders schlau oder zu einfach angesehen werden, eine Gratwanderung

> oder gibt es noch ein trick die eckigen klammern weg zu bekommen.
..

na die nun ewig besprochene normale Ausgabe,

übe erstmal die Ausgabe eines Punktes, und danach ist es das immergleiche Konzept für viele Elemente:
eine Schleife

for ... {
string += beschreibung für einen Punkt
}

denkbar ist auch, den String mit der List-Beschreibung nachzubearteiten,
string.replace(),
aber das ist dann bald kompizierter als eine simple Schleife
 

ARadauer

Top Contributor
meint ihr man kann es so lassen oder gibt es noch ein trick die eckigen klammern weg zu bekommen.
nein so kann man es nicht lassen! Was willst du konkret machen? Klicks sammeln?
list1? list? wieso? Du hast doch die Info bereits in der Liste mit den Punkten, warum brauchst du dann noch eine Liste mit Strings? Und warum nennst du das Liste? Bitte sprechende Variablen verwenden...

Java:
versuchString = "Anzahl Versuche: "+ "\n" +list1;
ist list1 die Anzahl? nein! Warum gibst du das dann aus?

wozu brauchst du die Member returnString und Point, die werden eh nur lokal verwendet....

was hälst du von dem?

Java:
import java.awt.Point;
import java.util.ArrayList;


public class StatistikModel {


    private ArrayList<Point> pointList = new ArrayList<Point>();

    public StatistikModel()
    {
 
    }
    public void action(int zeile, int spalte)
    {
    	pointList.add(new Point(zeile, spalte));       
    }
 
    public String getStatistikInfo()
    {
            StringBuffer versuchString = new StringBuffer();
            versuchString.append("Anzahl Versuche: "+ pointList.size()+"\n");
            for(Point p: pointList)
            	versuchString.append("Zeile: " +p.x+ "/ Spalte: " +p.y+ "\n"); 
            return versuchString.toString();
    }
    
    public static void main(String[] args) {
		//zum Testen
    	
    	StatistikModel model = new StatistikModel();
    	model.action(2, 3);
    	model.action(13, 12);
    	model.action(5, 1);
    	
    	System.out.println(model.getStatistikInfo());
    	
	}
 
}
 

Abbadon

Mitglied
Also bei deinem Code bekomme ich nur fehler meldungen. Und die zeilen und spalten sind veränderbar deswegen kann ich keine exakten zeilen und spalten mitgeben.

Ich speicher in der Liste die klicks von einem Applet. Bei der Destroy methode sollen die klicks aufgelistet werden.
Gebe ich dem String versuchString die list gibt der mir zwar jeden klick aus aber in dieser form [java.awt.Point[x=01, y=01]] etc
Das aber will ich nicht haben.

Also gebe ich der ersten Liste die Points zeile spalte und lasse mir diese in dem ersten String returnString ausgeben. Dann bekomme ich diese Ausgabe Zeile: 01 / Spalte: 02 etc
Java:
	list.add(new Point(zeile, spalte));
		returnString ="Zeile: " +zeile+ "/ Spalte: " +spalte+ "\n";
Gebe ich den String jetzt dierekt an den versuchString weiter also so:
Java:
 versuchString = "" + returnString;
Bekomme ich nur den Letzten klick ausgegeben.
Also habe ich den String returnString in einen zweite liste gepack
Java:
list1.add(returnString);

mit dieser liste klappt dann auch die ausgabe das jeder Klick in getStatistikInfo ausgegeben wird.
In der getStatistikInfo gebe ich diese Liste an den versuchString aus.
Java:
			String versuchString;
			versuchString = "Anzahl Versuche: "+ "\n" +returnString;
So funktioniert alles wie es soll. Nur die Ausgabe mit den eckicken klammern stört mich daran. Deshalb die frage ob ich die klammern weg bekomme also die [] diese hier?
 

ARadauer

Top Contributor
Also bei deinem Code bekomme ich nur fehler meldungen.
welche? kennt er keine generics? neuere java version verwenden...
Und die zeilen und spalten sind veränderbar deswegen kann ich keine exakten zeilen und spalten mitgeben.
wo mitgeben?

Gebe ich den String jetzt dierekt an den versuchString weiter also so:
du gibst da nix weiter... du weißt zu... was soll den drin in der variable drin stehen, wenn du a, b, c und d zuweist? d natürlich, du überschreibst ja die werte...

Deshalb die frage ob ich die klammern weg bekomme also die [] diese hier?
nicht irgendwelche dinge zusammen hängen (arrays, listen, punkte) sondern strings und zahlen...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D X Werte in ArrayList von Point Objekte alle gleich ? Java Basics - Anfänger-Themen 11
J ArrayList<Point> in eine neue ArrayList<Point> kopieren Java Basics - Anfänger-Themen 8
M Collections kopieren (ArrayList<Point>) Java Basics - Anfänger-Themen 3
Vivien Kurze Verständnisfrage zu Java Point aus java.awt.* Java Basics - Anfänger-Themen 5
L Methode Point[], Array widergeben Java Basics - Anfänger-Themen 5
M XWPF - Bullet Point list erstellen Java Basics - Anfänger-Themen 1
TomatenBrot447 Variable vom Typ Point Java Basics - Anfänger-Themen 2
D 0 Point Exeption... aber warum? Java Basics - Anfänger-Themen 3
S double[x] , double[y] zu Point[] points kopieren? Java Basics - Anfänger-Themen 15
D Point-Array ausgeben Java Basics - Anfänger-Themen 2
V Anlegen eines 2 dim Array mit Point Elementen Java Basics - Anfänger-Themen 3
M Methoden Array unbedingt klonen? und Point Frage. Java Basics - Anfänger-Themen 4
F JavaKara - Rückgabetyp java.awt.Point Java Basics - Anfänger-Themen 2
L Klassen Point- und Math-Klasse Java Basics - Anfänger-Themen 3
L warum werden nicht die neuen Point Daten der Zeile 25 beim ausprinten Zeile 28 übernommen ? Java Basics - Anfänger-Themen 8
G Datentypen Floating point Fehler Java Basics - Anfänger-Themen 2
S Warum sind Attribute der Klasse java.awt.Point public? Java Basics - Anfänger-Themen 3
K Methoden format() mit Point(x, y)-Objekt Java Basics - Anfänger-Themen 14
K OOP Point (int x, int y) Java Basics - Anfänger-Themen 6
W Nullpointerexception: Integer auf Point Java Basics - Anfänger-Themen 4
T Problem mit Point Klasse Java Basics - Anfänger-Themen 2
S Point-Objekte in Array einfügen Java Basics - Anfänger-Themen 13
B Vector<Point> als Rückgabewert Java Basics - Anfänger-Themen 23
G Abstrakte Klasse "Point" Java Basics - Anfänger-Themen 2
G Plugins bzw. Extension Point in Eclipse Java Basics - Anfänger-Themen 3
M Array mit Point-Objecten Java Basics - Anfänger-Themen 2
krgewb ArrayList allgemein halten Java Basics - Anfänger-Themen 6
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
String in ArrayList umwandeln Java Basics - Anfänger-Themen 1
F Arraylist<String>Ein Wort pro Zeile Java Basics - Anfänger-Themen 6
J ArrayList vergleichen im spiel Mastermind Java Basics - Anfänger-Themen 2
Mugetsu35 ArrayList Update ohne Index Java Basics - Anfänger-Themen 6
W Objekte einer ArrayList in txt-datei schreiben mit Paths? Java Basics - Anfänger-Themen 2
Z Java ArrayList speichert falsche Daten ab bzw. gibt falsche Daten aus? Java Basics - Anfänger-Themen 42
W if-Abfrage bei ArrayList-Methodenaufrufen - Wie löse ich das? Java Basics - Anfänger-Themen 6
W ArrayList und toString Java Basics - Anfänger-Themen 17
volcanos Addition -> List<Integer> mit Arrays.asList() versus List<Integer>ArrayList<>() Java Basics - Anfänger-Themen 14
ArrayList mit unbekannter Menge an Arrays die Arrays vergleichen Java Basics - Anfänger-Themen 9
M 2d ArrayList durchgehen Java Basics - Anfänger-Themen 2
Blkckroll45 Arraylist Java Basics - Anfänger-Themen 6
H Interface Wieso "List<String> list = new ArrayList<>[…]" Java Basics - Anfänger-Themen 4
berserkerdq2 Geht collections.sort bei allen? Linkedhashset, ArrayList, HashSet etc. Java Basics - Anfänger-Themen 4
R Methoden Werte einer ArrayList als Parameter übergeben. Java Basics - Anfänger-Themen 4
L Dauerhaftes Speichern einer Eingabe bei einer ArrayList Java Basics - Anfänger-Themen 26
D Arraylist mit Komplexen Datentyp Java Basics - Anfänger-Themen 3
H Kompliziertes Sortieren einer ArrayList mit Objekten(Sortieren nach X und Y) Java Basics - Anfänger-Themen 11
T Permanentes speichern von Objekten in einer ArrayList Java Basics - Anfänger-Themen 6
volcanos List & ArrayList nach Familiennamen abfragen Java Basics - Anfänger-Themen 57
M static ArrayList in non-static Java Basics - Anfänger-Themen 12
berserkerdq2 Ich gebe eine ArrayList als List zurück per MEthode, wie kann ich nun aber die ArrayList speichern? Java Basics - Anfänger-Themen 46
M ArrayList<TreeNode<T>> fortlaufende Nummerierung der Elemente Java Basics - Anfänger-Themen 5
B Bungeecord | ProxiedPlayer wird nicht in ArrayList hinzugefügt Java Basics - Anfänger-Themen 1
S ArrayList Username und passwort mit JTextField eingaben abgleichen Java Basics - Anfänger-Themen 10
F Werte in einer Arraylist Zählen Java Basics - Anfänger-Themen 2
F Erste Schritte Zahlenreihe von Arraylist in 3erBlöcke sortiert in neue Arraylist Java Basics - Anfänger-Themen 2
M ArrayList mit einer Schleife befüllen Java Basics - Anfänger-Themen 2
F Methode ArrayList mit Eingabewert Java Basics - Anfänger-Themen 2
J ArrayList add methode selbst programmieren Java Basics - Anfänger-Themen 10
K Erste Schritte Wie schnell ist LinkedHashMap im Vergleich zur ArrayList, wenn alle Entries durchlaufen werden? Java Basics - Anfänger-Themen 47
thobren jtable arraylist Java Basics - Anfänger-Themen 12
N Exception beim Verwenden von Arraylist? Java Basics - Anfänger-Themen 10
P Schiebefix - ArrayList überschreibt Daten Java Basics - Anfänger-Themen 3
Zeppi OOP ArrayList Java Basics - Anfänger-Themen 2
P ArrayList Java Basics - Anfänger-Themen 4
L ArrayList auf 4 Elemente begrenzen Java Basics - Anfänger-Themen 56
C ArrayList sortieren nach bestimmten Buchstaben in den Wörtern Java Basics - Anfänger-Themen 13
S Arraylist<Object> mit verschiedenen Objects ausgeben Java Basics - Anfänger-Themen 3
J ArrayList auf bereits vorhanden eintrag prüfen Java Basics - Anfänger-Themen 5
M For Schleife/ArrayList Java Basics - Anfänger-Themen 12
L ArrayList<String> --> double[] array Java Basics - Anfänger-Themen 18
L Längstes Element einer ArrayList ausgeben Java Basics - Anfänger-Themen 9
S Aus verschachtelter ArrayList auf einen Wert zugreifen Java Basics - Anfänger-Themen 4
L Methoden ArrayList Werte hinzufügen und löschen Java Basics - Anfänger-Themen 32
M ArrayList in GUI ausgeben Java Basics - Anfänger-Themen 1
J Nur bestimmter Typ aus der ArrayList ausgeben. Java Basics - Anfänger-Themen 9
Bademeister007 Hallo Leute ich hab eine Frage zur ArrayList Java Basics - Anfänger-Themen 8
Bademeister007 Operatoren Alle Zahlen einer ArrayList die durch 5 teilbar ist Java Basics - Anfänger-Themen 2
S Objekt aus Arraylist in andere Arraylist kopieren? Java Basics - Anfänger-Themen 2
C Sortieren einer ArrayList Java Basics - Anfänger-Themen 2
krgewb ArrayList von ArrayList Java Basics - Anfänger-Themen 2
R ArrayList Problem Java Basics - Anfänger-Themen 6
jonny_2k12 Wie kann ich eine ArrayList aus einer Klasse in eine andere übergeben? Java Basics - Anfänger-Themen 21
O Namen (mit Umlauten und ß) in einer ArrayList suchen Java Basics - Anfänger-Themen 5
N Typebound Objekte einer Arraylist hinzufügen Java Basics - Anfänger-Themen 7
R Methoden ArrayList clonen wirft exception Java Basics - Anfänger-Themen 3
S ArrayList in andere Klasse übernhemen Java Basics - Anfänger-Themen 5
M Letztes Element einer ArrayList Java Basics - Anfänger-Themen 12
B Objektverwaltung mit ArrayList in einer seperaten Klasse Java Basics - Anfänger-Themen 24
I Sortiert eine HashMap nicht gleich wie eine ArrayList? Java Basics - Anfänger-Themen 1
I ArrayList erstellen innerhalb einer Zeile? Java Basics - Anfänger-Themen 3
L Iterieren durch eine ArrayList. Integer Array wird übergeben Java Basics - Anfänger-Themen 17
V Collections ArrayList mit Comparator sortieren Java Basics - Anfänger-Themen 16
D Collections Arrays in ArrayList abspeichern Java Basics - Anfänger-Themen 6
F java.util.ArrayList Java Basics - Anfänger-Themen 3
M ArrayList - Objekt kopieren und ändern Java Basics - Anfänger-Themen 11
M Zugriff auf eine ArrayList in einer anderen Klasse Java Basics - Anfänger-Themen 4
P Arraylist zu einem Array bringen mit Verschachtelung Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben