Token to arraylist

Dopehat

Grünschnabel
hallo,

ich habe mittels stringtokenizer punktnummern und koordinaten eingelesen.
um die tokens zuzuweisen habe ich eine klasse geschrieben in denen die punktnummern und koordinaten definiert werden.
über die methoden konnte ich die koordinaten einlesen und danach in eine arraylist packen.
bei den punktnummern hab ich das problem das er mir beim erstellen des objects die int-werte nicht übergibt sondern : [I@c3014, also wohl eine indexadresse.

wäre schön,wenn mir jemand helfen könnte!

Vielen Dank für eure Hilfe!
 
hier ein auszug:
das problem ist an der stelle number(b);
p gibt noch normale zahlenwerte aus
Code:
public ArrayList readCoords() throws IOException 
     {
       BufferedReader br = new BufferedReader(new FileReader(file));
       StringTokenizer st = null;
      String zeile =  new String();
     Koordinaten jedezeile = null;
     
while((zeile = br.readLine()) != null) {
      st = new StringTokenizer(zeile, " \t"); 
int anzahl = st.countTokens();
       if(anzahl < 4)
continue;
jedezeile = new Koordinaten(st.nextToken(),st.nextToken(), st.nextToken(),   st.nextToken()); 

       int p =	jedezeile.getpunktnummer();
      
       int b = jedezeile.getbildnummer(); 
     double x =  jedezeile.getHoch();
     double y =  jedezeile.getRechts();
    
     number(b);
     al.add(point(x,y));
     bl.add(number(b));
       br.close();
    
     return al;
   }

	private Object point(double x, double y) {
		

		Point2D  point = new Point2D.Double();
	       point.setLocation(x,y);
		return point;
	}
	private Object number(int b) {
		
		int[] number = new int[b];
		return number;
	}

public class Koordinaten
{
  private int bildnummer;
  private int punktnummer;
  private double rechts;
  private double hoch;
 //Konstruktor
  public Koordinaten(String bildnummer, String stpkt, String rechts, String hoch)
  {
    setbildnummer(bildnummer);
    setpunktnummer(stpkt);
    setRechts(rechts);
    setHoch(hoch);

  }
  
  private void setbildnummer(String bildnummer)
{
  if(bildnummer != null)
    this.bildnummer = new Integer(bildnummer).intValue();
}

private void setpunktnummer(String str)
{
  if(str != null)
    this.punktnummer = new Integer(str).intValue();
}

private void setRechts(String str)
{
  if(str != null)
    this.rechts = new Double(str).doubleValue();
}

private void setHoch(String str)
{
  if(str != null)
    this.hoch = new Double(str).doubleValue();
}

public int getbildnummer()
{ return bildnummer;
}
public int getpunktnummer()
{
return punktnummer;
}

public double getRechts()
{
return rechts;

}

public double getHoch()
{
return hoch;
}
}
 
Hallo!

Code:
	public ArrayList readCoords() throws IOException {
		BufferedReader br = new BufferedReader(new FileReader(file));
		StringTokenizer st = null;
		
		// new String() Überflüssig ...
		String zeile = new String();
		
		Koordinaten jedezeile = null;

		while ((zeile = br.readLine()) != null) {
			st = new StringTokenizer(zeile, " \t");
			int anzahl = st.countTokens();
			if (anzahl < 4)
				continue;
			jedezeile =
				new Koordinaten(
					st.nextToken(),
					st.nextToken(),
					st.nextToken(),
					st.nextToken());

			int p = jedezeile.getpunktnummer();

			int b = jedezeile.getbildnummer();
			double x = jedezeile.getHoch();
			double y = jedezeile.getRechts();

			//Hier bekommst du jedesmal ein Array der Größe b zurück
			number(b);
			//Wenn du b auf der Standardausgabe ausgibst bekommst du nicht
			//den "Inhalt" des Arrays zu sehen, sondern die ID der Referenz.
			
			//Wie sind al und bl definiert?
			al.add(point(x, y));
			bl.add(number(b));
			br.close();

			return al;
		}

		private Object point(double x, double y) {

			Point2D point = new Point2D.Double();
			point.setLocation(x, y);
			return point;
		}
		private Object number(int b) {

			int[] number = new int[b];
			return number;
		}

		public class Koordinaten {
			...
                                           }

Gruß Tom
 
al und bl sind arraylists
ich wollte für spätere grafikausgabe auch die punktnummer und die bildnummer in eine arraylist zusammenfassen, da ich die punkte den bildern zuweisen muss.

wollt natürlich kein array der länge b , sondern:
int p_obj = (int) new Integer(p).intValue();
int b_obj = (int) new Integer(b).intValue();
int [ ] werte = new int[]{ b_obj, p_obj };

wenn ich ne schleife schreib:
for (int i = 0; i < werte.length; i++)

komm ich an die werte ran. jetzt versuch ich diese auch in eine arrraylist zu speichern. hab aber noch keine lösung .
vielleicht klappts ja mit ner kopie um nich nur die id zu erhalten.
<grübel>
gruß dopehat
 
Zuletzt bearbeitet:
Zurück