Problem mit Array Konvertierung

Torni

Mitglied
Schönen guten Tag,
ich habe gegoogelt und keine Lösung gefunden.http://www.java-forum.org/images/smilies/cry.gif
Wie kann ich das Stringarray args in ein Objektarray wandeln, um es zu einer List hinzufügen zu können?
Vielen Dank im voraus.
Die erste Zahl im Objekt Auto ist die int Parknummer, dann kommt int Fahrernummer, dann Farbe char, dann Beförderungsart char, dann double Leistung, dann int Unfallhäufigkeit, dann Verfügbarkeit boolean.

Java:
String fData ="34|56|rot|Personen|566|1|0"; // Beispiel für ein AutoObjekt.  
String[] args = fData.split("\\|"); 

	System.out.println(fData);

	List<Auto> carList = new ArrayList<Auto>();
	Auto a1 = args;       // so geht es leider  nicht 
        Auto a1 =  (args[0],args[1],args[2].... // und so auch nicht
//	carList.add(a1);
 
S

SlaterB

Gast
wieso musst du ein Array konvertieren,
versuche doch überhaupt erstmal auf irgendeine Weise irgendein beliebiges erstes Auto-Objekt zu erstellen!

Auto a1 = new Auto(evtl. Parameter);

wenn du das gelernt hast, viele Wochen bevor du jemals so kompilizierte Dinge wie 'split' verwenden solltest,
dann dürfte dir auffallen, dass in deinem Code elemente Bestandteile wie das Schlüsselwort new fehlen
(edit: obwohl es mit new ArrayList klappt..)
 

eRaaaa

Top Contributor
Code:
    Auto a1 = args;       // so geht es leider  nicht

ist klar, args ist ja auch ein String-Array :D
Code:
        Auto a1 =  (args[0],args[1],args[2].... // und so auch nicht

Klar, Objekte erstellt man auch mit new..probiers mal mit = new Auto(args[0],args[1],args[2]....)..zumindest müsste es dann auch diesen Konstruktor geben. Eventuell muss da auch noch ein oder mehrere Integer.parseInt`s rein :D
 

Torni

Mitglied
Hi Leute,
schade, daß nur kurze Antworten gegeben werden, die nicht funktionieren.

Wäre schön, wenn sich jemand mal die Mühe macht, daß Problem mal mit einem funktionierenden kurzen Beispiel gelöst, aufzuzeigen.
Ein Auto a1 = new Auto(arg[0],arg[1]...) hatte ich auch schon probiert und es geht nicht.

Mit freundlichen Grüßen
 

Michael...

Top Contributor
Wie gesagt, ohne den Konstruktor der Klasse Auto bzw. die Klasse Auto zu kennen. Kann man nicht viel dazu sagen, ausser dass Objekte mit new und dem richtigen Konstruktoraufruf erzeugt werden.
 

RySa

Bekanntes Mitglied
Hi, jetzt mal kurz zu Deiner Denkensweise:
Java:
String fData ="34|56|rot|Personen|566|1|0"; // Beispiel für ein AutoObjekt.
Weiß nicht was du mit AutoObjekt hier meinst, da du ein String deklarierst. Dann willst du den String splitten (ich nehme an die einzelnen werte im String sollen als Attribute des Autos dienen). Das ist schön, nur Du Muss erstmal überhaupt eine Klasse Auto schreiben, der Du dann die Parameter (im Konstruktor oder über Methoden übergibst)
Java:
    Auto a1 = args;       // so geht es leider  nicht
Du kannst nicht Sagen "Hey Auto, sei jetzt ein String-Array"...
Wenn du aus dem String-Array ein Objekt der Klasse Auto erzeugen willst, mach dir vlt. so ein Konstruktor für die Klasse Auto:
Java:
public class Auto {

	private String farbe;
	private String typ; //Personen steht für PKW ?
	
	//Für die restlichen Werte die Du im String hast finde ich irgendwie keine Bedeutung
	//nur für diese 2 hier
	
	
	public Auto (String[] args){
		//Diese zuweisungen gelten allerdings nur, wenn die Werte an fixen Stellen sind
		this.farbe = args[2];
		this.typ = args[3];
	}
	
}

Und mach es dann so

Java:
.....

Auto a1 = new Auto(args);
carList.add(a1);

Ich hoffe das hilft Dir weiter :)
 

Torni

Mitglied
Hallo und danke,

ich habe mal ein Beispiel Objekt Auto erstellt. So möchte ich es gerne einbauen. Wie kann man die Daten aus dem String Array so übergeben, daß ich damit wie anfangs dargestellt eine Liste erstellen kann.

Der Beitrag von Rysa kommt der Lösung schon nahe, aber bitte zeigt mir eine Lösung für mein Problem auf.

Java:
import java.util.Iterator;
import java.util.List;

public class Auto {

	private int id;
	private String fahrer;
	private double parknr;
	private boolean unfall;

	public Auto() {
	}

	public Auto(int id, String fahrer, double parknr, boolean unfall) {
		set(id, fahrer, parknr, unfall);
	}

	void set(int id, String fahrer, double parknr, boolean unfall) {
		this.id = id;
		this.fahrer = fahrer;
		this.parknr = parknr;
		this.unfall = unfall;
	}

	int getID() {
		return this.id;
	}

	String getFahrer() {
		return this.fahrer;
	}

	double getParknr() {
		return this.parknr;
	}

	boolean getUnfall() {
		return this.unfall;
	}

}
 

RySa

Bekanntes Mitglied
Wenn diese Strings
Java:
String fData ="34|56|rot|Personen|566|1|0";
immer im gleichen Format sind, dh. der erste Wert immer die ID ist, und der dritte immer die Farbe, dann kannst du dem konstruktor, wie ich vorher geschrieben habe, einfach den gesplitteten Array übergeben und die Werte innerhalb des Konstruktors casten (da musst du aber, wie gesagt, sicher sein, dass die Werte immer an den gleichen Stellen sind, sonnst gibts beim casten Probleme). Also ungefähr so:
Java:
String fData ="16|Peter|566|true"; // Beispiel für die Werte deines Autos.  16 - die ID , Peter - der Fahrer , 566 - die ParkNr , true - //hatte unfall
String[] args = fData.split("\\|");

    List<Auto> carList = new ArrayList<Auto>();
    Auto a1 = new Auto(args);
    carList.add(a1);
und die Auto Klasse:
Java:
import java.util.Iterator;
import java.util.List;
 
public class Auto {
 
    private int id;
    private String fahrer;
    private double parknr;
    private boolean unfall;
 
    public Auto() {
    }
 
    public Auto(String[] values) {
       id = (Integer.valueOf(values[0]).intValue());
       fahrer = values[1];
       parknr = (Double.valueOf(values[2]).doubleValue()); 
       //wobei ich gar nicht weiß warum die Parknummer ein double sein sollte 
       //(mit Kommastellen ?! o.O)
       if (values[3].equals("true")){
    	   unfall = true;
       }
       else {
    	   unfall = false;
       }
    }
    
    //Setter-Methoden ggf. auch noch dazu, allerdings für die einzelnen Werte, und nicht für 4 Werte in einer Methode...
 
    int getID() {
        return this.id;
    }
 
    String getFahrer() {
        return this.fahrer;
    }
 
    double getParknr() {
        return this.parknr;
    }
 
    boolean getUnfall() {
        return this.unfall;
    }
 
}
 
Zuletzt bearbeitet:
S

SlaterB

Gast
es ist doch so offensichtlich, dass du dir nur noch die Parameter richtig sortieren musst, und dafür helfen für einen Anfänger lieber mehr Zeilen als zu wenige,
schreibe zunächst

Java:
new Auto(0, "", 0, false);
funktioniert, super

Java:
int id = 0;
String f = "";
double p = 0;
boolean u = false;
new Auto(id, f, p, u);
funktioniert, super

jetzt musst du nur noch die String-Array-Werte in die einzelnen Variablen einfügen
Java:
int id = args[0];
schon funktioniert es nicht, String in int-Variable zu speichern geht nicht, der String muss in int umgewandelt werden
-> schon hast du eine konstruktive Problembeschreibung, die man in diesem Fall sogar direkt in google suchen kann (String int umwandeln)

viel besser als vorher unbestimmtes
"new Auto(arg[0],arg[1]...) zeigt 4 Mio. Fehler an"

die Umwandlung String nach double ist ähnliches Problem,
String nach boolean ist bisschen davon abhängig welche Information du da genau im String speicherst, "0" oder "false" oder sonstwas?

wobei diese Frage auch nicht eine direkte Gegenfrage bewirken soll, sondern Nachdenken zur Umsetzung,
aber ich sehe gerade, dass RySa sämtliches Denken in diesem Fall obsolet gemacht hat ;)
 
Zuletzt bearbeitet von einem Moderator:

Torni

Mitglied
Hi SlaterB,

auch ein guter Denkansatz, muß ich mal probieren. Auch Danke dafür.
Mal sehen ob ich eine aus euren beiden Vorschlägen eine elegante Methode basteln kann.
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
ohne nerven zu wollen:
ich fände es wirklich schön, wenn nicht für kurze Antworten ohne konkreten Bezug, 10x so lange Ursprungspostings komplett zitiert werden,
> Vielen vielen Dank RySa,
reicht doch als Referenz

edit:
und für mein Posting genauso, das ist hier wirklich keine Email-Liste wo jeder den vorherigen Betrag kopiert,
in einem Forum steht nicht ohne Grund alles direkt untereinander..
 

RySa

Bekanntes Mitglied
Ich rate Dir nur beim nächsten mal konkrete Fragen zu stellen und nicht die fertigen Lösungen zu verlangen. Ich habe es jetzt so ausführlich gemacht, da ich im Moment mit meinem Projekt fertig bin, es von anderen Mitarbeitern getestet wird und ich jetzt "langeweile" habe. Copy&Paste wird Dir aber nicht weiterhelfen, glaube es mir. Beim nächsten gleichen Problem wirst du wieder nachfragen müssen, wenn du das hier alles nicht verstanden hast sondern nur eingesetzt.

Wenn Du Probleme hast String informationen als int oder double abzuspeichern dann ist hier "casten" das Stichwort. Viel glück :)

Ps. Und mit diesem bisschen Wissen, kann ich mich nur als Anfänger bezeichnen, wobei das auch eine Sache der Ansicht ist. Das hier ist die absolute Grundbasis um mit Java effektiv arbeiten zu können. Wobei das was ich hier geschrieben habe sowieso unschön ist und eigentlich anders realisiert werden sollte. Reicht aber für den Anfang.

Ps2. Vergiss nicht das Thema als erledigt zu markieren, sobald das klappt.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Unbekanntes Problem mit 2d Array Java Basics - Anfänger-Themen 6
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
Splayfer Java Array Problem... Java Basics - Anfänger-Themen 2
A Array problem Java Basics - Anfänger-Themen 16
J Problem mit Array: 2 Klassen Java Basics - Anfänger-Themen 2
I wieder mit einer Umwandelung habe ich Problem (diesmal von char Array zu char) Java Basics - Anfänger-Themen 1
B Array Problem Java Basics - Anfänger-Themen 3
F Problem mit der Aufgabe(Array) Java Basics - Anfänger-Themen 21
H boolean Array Problem Java Basics - Anfänger-Themen 7
B Problem beim grundsätzlichen Verständnis bei Rekursion mit 2-dimensionalen Array Java Basics - Anfänger-Themen 6
S Problem: Array alle Einträge gleich Java Basics - Anfänger-Themen 10
L Array-Problem/Zufallszahlen Java Basics - Anfänger-Themen 7
G Problem mit Array Java Basics - Anfänger-Themen 2
K Problem mit Methode(Array,Boolean,ForSchleife) Java Basics - Anfänger-Themen 6
C Problem mit Arrays im Array Java Basics - Anfänger-Themen 11
A Problem mit Array Ausgabe Java Basics - Anfänger-Themen 7
L 2 dimensionales Array, Problem der Ausgabe Java Basics - Anfänger-Themen 4
E Array Problem Java Basics - Anfänger-Themen 1
L Problem mit Array Programm Java Basics - Anfänger-Themen 2
M Array problem Java Basics - Anfänger-Themen 9
M If und Array-Problem Java Basics - Anfänger-Themen 6
P OOP Array-Problem Java Basics - Anfänger-Themen 5
S Problem mit Array.Length Java Basics - Anfänger-Themen 2
R Array Problem Java Basics - Anfänger-Themen 17
U Methoden Zugriff auf Array von weiterer Methode einer Klasse, Rückgabewert Problem Java Basics - Anfänger-Themen 5
P Array queue problem Java Basics - Anfänger-Themen 1
E Array zu Liste - kleines Problem Java Basics - Anfänger-Themen 6
F Problem mit Array Java Basics - Anfänger-Themen 8
N OOP Problem mit Array Java Basics - Anfänger-Themen 17
M Problem mit 2D Array Java Basics - Anfänger-Themen 3
M Problem mit Array und replace Java Basics - Anfänger-Themen 3
D Array Problem Java Basics - Anfänger-Themen 4
F Array Problem !? Java Basics - Anfänger-Themen 6
M Erste Schritte Array Problem Java Basics - Anfänger-Themen 8
F Problem mit Array, Java Basics - Anfänger-Themen 4
F Problem: Verschlüsselung von String in Array Fehler Java Basics - Anfänger-Themen 2
S Problem bei Kollision zwischen Array-objekten! Java Basics - Anfänger-Themen 2
B Problem mit Array Java Basics - Anfänger-Themen 5
J Array Problem Java Basics - Anfänger-Themen 2
K Problem beim Array aufruf Java Basics - Anfänger-Themen 4
D Klassen Problem mit Eigener Array-Klasse Java Basics - Anfänger-Themen 10
N Array problem bei einem magischen Quadrats Java Basics - Anfänger-Themen 3
P Klassen Klassen mit Array Problem Java Basics - Anfänger-Themen 4
T ArrayIndexOutOfBoundsException - Problem mit Array-Größe Java Basics - Anfänger-Themen 4
L Array Problem NullPointerException Java Basics - Anfänger-Themen 3
K Problem: Array String to Integer Java Basics - Anfänger-Themen 2
M Char-Array Problem Java Basics - Anfänger-Themen 6
D Problem mit TextFeld Array Java Basics - Anfänger-Themen 18
A Array Zugriff- Problem Java Basics - Anfänger-Themen 5
V 2D - Objekt Array Problem Java Basics - Anfänger-Themen 3
K Java Array Problem Java Basics - Anfänger-Themen 3
L Problem mit Array Java Basics - Anfänger-Themen 3
K kleines Array-Problem Java Basics - Anfänger-Themen 6
X Array out of bounds problem Java Basics - Anfänger-Themen 7
M Array Problem Java Basics - Anfänger-Themen 2
K Generische Klasse mit innerer Klasse | Problem mit Array Java Basics - Anfänger-Themen 6
E Array Problem... Java Basics - Anfänger-Themen 14
P array problem Java Basics - Anfänger-Themen 9
P Codeschnipsel Verständnis Problem (Array) Java Basics - Anfänger-Themen 6
F Array Problem bei ByteburgTarif Java Basics - Anfänger-Themen 2
P Problem mit Laden und Ausgeben eines array-Objekts Java Basics - Anfänger-Themen 4
A Problem mit einem Array aus JButtons Java Basics - Anfänger-Themen 4
D Array multiplikations Problem Java Basics - Anfänger-Themen 26
D Array Problem Java Basics - Anfänger-Themen 5
B Mehrdimensionale Array Problem Java Basics - Anfänger-Themen 12
T Array-Vector Problem Java Basics - Anfänger-Themen 18
T Blutiger Anfänger mit Array Problem Java Basics - Anfänger-Themen 8
T problem mit array Java Basics - Anfänger-Themen 9
S String split array.length Problem Java Basics - Anfänger-Themen 3
B Problem mit Object Array Java Basics - Anfänger-Themen 8
W Problem mit BubbleSort und Array Java Basics - Anfänger-Themen 10
G Problem mit der Rückgabe von einem Array Java Basics - Anfänger-Themen 3
G Array-Problem Java Basics - Anfänger-Themen 3
M sinus berechnen array problem Java Basics - Anfänger-Themen 2
C array problem Java Basics - Anfänger-Themen 7
G Array ,Matrix Problem Java Basics - Anfänger-Themen 20
Antoras Problem mit Array Java Basics - Anfänger-Themen 5
K Problem mit 2 Dimensionalen Array Java Basics - Anfänger-Themen 4
D Array reverse Problem, da Referenz nicht auf tmpArray zeigt Java Basics - Anfänger-Themen 4
G Kleines Problem mit Array Java Basics - Anfänger-Themen 14
0 Array problem Java Basics - Anfänger-Themen 4
S Problem mit Array-Erstellung Java Basics - Anfänger-Themen 5
A array problem Java Basics - Anfänger-Themen 4
G array Problem Java Basics - Anfänger-Themen 9
H Problem mit array Java Basics - Anfänger-Themen 5
zilti Array-Problem Java Basics - Anfänger-Themen 6
J Array - Vertauschen Problem mit char/int Java Basics - Anfänger-Themen 6
M Problem mit Array in Methodenkopf Java Basics - Anfänger-Themen 2
K problem beim schreiben in ein int-array Java Basics - Anfänger-Themen 9
S JTable Problem mit einzufügendem Array Java Basics - Anfänger-Themen 6
D Problem mit Array brauche schnell Hilfe Java Basics - Anfänger-Themen 11
R Problem mit AbstractTableModel oder Array! Java Basics - Anfänger-Themen 5
G Problem mit Array bei einem 4-Gewinnt Spiel Java Basics - Anfänger-Themen 2
K problem mit resultset und 2d-array Java Basics - Anfänger-Themen 3
G Problem mit array Java Basics - Anfänger-Themen 2
P Array-Problem Java Basics - Anfänger-Themen 4
L Array Problem Java Basics - Anfänger-Themen 9
B Array Manipulation Problem Java Basics - Anfänger-Themen 11
B Array Problem (out of Bounds Exception) Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben