Liste in Array konvertieren

anfjoe

Mitglied
Tach Liebe Leute!

hab hier ein kleines Problem was sich nicht lösen lässt.

ich hab nähmlich eine Liste die ich irgendwie falsch konvertiere :S ich blicke da nicht so ganz durch hier der quelltext:

Java:
String mw3=senalt.mw;
                       String mwNeu[];
                       mwNeu=senalt.mw.split(";");
                       System.out.println("Bitte Position des zuloeschenden Messwertes angeben:");
                       int posL=IO1.einint();
                       List<String>Mess1;
                       Mess1=new LinkedList<String>();
                       String zw;
                       for(int j=0; j<mwNeu.length;j++)
                       {
                        zw=mwNeu[j];
                           Mess1.add(zw);
                       }
                      Mess1.remove(posL);
                      
                      String newMess[];

                      newMess=(String[])Mess1.toArray();// Hier Misslingt meine konvertierung!!!!!

                      slist.remove(senalt.mw);
                      senalt.mw= String.valueOf(newMess);
                      
                      senneu=new Sensor(senalt.senid, senalt.senbez, senalt.eh, senalt.mw);
                      System.out.println("Messwert erfolgreich entfernt!");
                      break;
 

diggaa1984

Top Contributor
was genau ist denn der Fehler?
und was soll hier passieren?
Java:
 senalt.mw= String.valueOf(newMess);
//valueOf(Object) == newMess.toString() == <array>.toString() == Hashwert oder hab ich da nen Denkfehler?
 
Zuletzt bearbeitet:

anfjoe

Mitglied
senalt.mw sind messwerte vom typ String die hol ich mir sieht so aus 343;657;6587 den splite ich und tu den in ein array String und lasse den anwender die Position des zulöschenden messwertes aussuchen und anschließenend wandle ich den Array in eine liste um und lösche den anhand der vom anwender angegebenen position und konvertiere das ganze wieder in ein Array ..

der gibt in auf konsole folgendes aus:
mw: [Ljava.lang.String;@2a8b8..
 

diggaa1984

Top Contributor
senalt.mw sind messwerte vom typ String die hol ich mir sieht so aus 343;657;6587 den splite ich und tu den in ein array String und lasse den anwender die Position des zulöschenden messwertes aussuchen und anschließenend wandle ich den Array in eine liste um und lösche den anhand der vom anwender angegebenen position und konvertiere das ganze wieder in ein Array ..

geht es dir quasi nur darum den jeweiligen Eintrag aus dem String in mw zu löschen?
Oder verwendest du das Array selbst später noch einmal?
 

diggaa1984

Top Contributor
das ist ja unerheblich für dein Problem .. aber in dem Fall nimm doch einfach eine LinkedList für die Messwerte .. dort fügst du hinzu und löscht oder ersetzt Daten. Dann musst du nur die Liste in mw pressen, wenn du das benötigst.
 

anfjoe

Mitglied
also ganz am anfang des programmes hat man knoten die so aussehen:

sensor id: 123
sensor bezeichnung: Drucksensor
einheit: pa
messwerte:null

deswegen hab ich ein problem die messwerte(hier:null) mit einer liste zu verwalten.. oder ? :S
 

Fant

Bekanntes Mitglied
Nö. Du kapselst einfach die zu einer Messung gehörenden Daten in einer eigenen Klasse.

Und dann legst du dir eine Liste List<Messwert> o.Ä. an.

Edit: Das war glaube ich etwas an dem vorbei, was du eigentlich meintest... Deshalb nochmal gefragt: Wieso kannst/willst du nicht von Anfang an deine Messdaten in einer Liste verwalten? Das ständige hin und herschaufeln deutet jedenfalls darauf hin, dass du nicht die passende Datenstruktur gewählt hast.
 
Zuletzt bearbeitet:

diggaa1984

Top Contributor
genau, wenn du den eigentlichen Messwert in einer Klasse kapselst, dann kannst du problemlos ein Objekt der Klasse mit dem Wert null hineinschieben. Wenn du eine eigene Klasse hast, dann kannst auch gleich eine Methode anbieten die diesen Messwert überschreibt. Da brauchst du zumindest null-Werte nicht entfernen und neue einfügen um deren Wert zu aktualisieren.
 

anfjoe

Mitglied
laut aufgabenstellung soll ich keine weitere klassen erstellen.. versteht ihr den fehler nicht ? ich kann das nicht nachvollziehen .. ich hab diese aufgabe noch komplizierter gemacht als es ist.. aber irgendwie gibts kein zurück mehr.. ich muss das jetzt irgendwie mit dem konvertieren hinbekommen..
 

andiv

Bekanntes Mitglied
Ich hab dir doch schon geschrieben wie du von der List<String> wieder zu einem String[] kommst.

Die Ausgabe [Ljava.lang.String;@2a8b8.. erhälst du wenn du versuchst deinArray.toString() aufzurufen. Verwende stattdessen Arrays.toString(deinArray), dann erhälst du auch eine schöne Ausgabe.
 

anfjoe

Mitglied
es reicht einfach die messwerte auszuschneiden.. ist halt immer das selbe du nimmst dir den array mit den werten raus spliten konvertieren in liste löschen und wieder in array > ausgeben
 

anfjoe

Mitglied
das rum konvertieren hat geklappt.. nur hab ich jetzt ein kleines problem.. meine neuen messwerte nach dem löschen eines messwertes sehen so aus [ 123,123 ] obwohl die so aussehen müssen 123;123

Java:
    String newMess[];

                      newMess = Mess1.toArray(new String[Mess1.size()]);
                      String newMess2  =  Arrays.toString(newMess);
 

AquaBall

Top Contributor
das rum konvertieren hat geklappt.. nur hab ich jetzt ein kleines problem.. meine neuen messwerte nach dem löschen eines messwertes sehen so aus [ 123,123 ] obwohl die so aussehen müssen 123;123

WO sehen die so aus?
Zeig mal (3 Zeilen) Code wie du das überprüfst.
Wenn du noch immer 1 String hast, dann kannst du ja leicht ',' gegen ';' tauschen, oder?

Aber du solltest diese mw dringend als eigenen Werte in einem Array/List führen.
Dann ist ',' oder ';' nur eine Frage wie du's ausgeben willst.
 

jgh

Top Contributor
mmh, evtl. hilft dir dieses kleine Codebeispiel um dein nicht vorhandenes Problem zu "lösen"...

Java:
public static void main(String[] args) {
		String string = "Hallo ich bin ein String und besitze nicht ein Kommata!!!!";
		String[] stringArray = string.split(" ");
		System.out.println(Arrays.toString(stringArray));
	}
SQL:
Ausgabe:[Hallo, ich, bin, ein, String, und, besitze, nicht, ein, Kommata!!!!]

=> iteriere über dein Array, pack dein Trennzeichen dazu und fertig...

Java:
for (int i = 0; i < stringArray.length; i++) {
			System.out.print(stringArray[i] + "; ");
		}
SQL:
Ausgabe:Hallo; ich; bin; ein; String; und; besitze; nicht; ein; Kommata!!!!;
 

anfjoe

Mitglied
das Problem ist nicht meine nur Meine ausgabe.. sondern auch die anwendung danach.. der anwender darf das solange machen wie er will.. also dies braucht wieder ein String in der form 123;123;123 damit er wieder von vorne anfangen kann.. also nicht nur für die ausgabe ..
 

jgh

Top Contributor
dann pack dein Array, oder was du auch immer hast doch wieder zurück in einen String....

bspw. über einen StringBuilder...:

Java:
StringBuilder sb = new StringBuilder();
		for (int i = 0; i < stringArray.length; i++) {
			sb.append(stringArray[i] + ";");
		}
		System.out.println(sb.toString());
 

anfjoe

Mitglied
so hier ist mein ganzer case:

Java:
case 2 :
                       String mw3=senalt.mw;
                       String mwNeu[];
                       mwNeu=senalt.mw.split(";");
                       System.out.println("Bitte Position des zuloeschenden Messwertes angeben:");
                       int posL=IO1.einint();
                       List<String>Mess1;
                       Mess1=new LinkedList<String>();
                       String zw;
                       for(int j=0; j<mwNeu.length;j++)
                       {
                        zw=mwNeu[j];
                           Mess1.add(zw);
                       }
                      Mess1.remove((posL-1));
                      
                      String newMess[];

                      newMess = Mess1.toArray(new String[Mess1.size()]);




                      slist.remove(senalt.mw);
                      senalt.mw= Arrays.toString(newMess);
                      
                      senneu=new Sensor(senalt.senid, senalt.senbez, senalt.eh, senalt.mw);
                      System.out.println("Messwert erfolgreich entfernt!");
                      break;

mein problem ist einfach nur das nach dem löschen des messwertes ich diese form bekomme > [ 123,456] und nicht diese 123;456 .. denn wenn der anwender erneut löschen will dann funzt das spliten nicht mehr weil er kein ";" mehr findet
 

andiv

Bekanntes Mitglied
Java:
temp = Arrays.toString(newMess);         // ergibt "[wert1, wert2, ...]"
temp = temp.replace(',', ';');                          // ergibt "[wert1; wert2; ...]"
temp = temp.substring(1, temp.length()-1);     // ergibt "wert1; wert2; ..."

ungetestet

Aber: Das was du da machst ist echt "Müll". String zu Array zu Liste zu Array zu String. Mit eigenen Klassen kann man das alles viel ordentlicher machen.
 

andiv

Bekanntes Mitglied
Mitdenken?

Java:
String temp = Arrays.toString(newMess);         // ergibt "[wert1, wert2, ...]"
temp = temp.replace(',', ';');                          // ergibt "[wert1; wert2; ...]"
senalt.mw = temp.substring(1, temp.length()-1);     // ergibt "wert1; wert2; ..."
 

jgh

Top Contributor
und so geht das nicht...?

Java:
String mw3 = senalt.mw;
		String mwNeu[];
		mwNeu = senalt.mw.split(";");
		System.out
				.println("Bitte Position des zuloeschenden Messwertes angeben:");
		int posL = IO1.einint();
		String zw;
		for (int j = 0; j < mwNeu.length; j++) {
			if (j == (posL - 1)) {
				j++;
		
			}
			zw += mwNeu[j] + ";";
		}

		//und nun sollte alles in deiner Variable zw stehen...
 

diggaa1984

Top Contributor
Manchmal gibt es so verschärfte Aufgaben. Wir durften damals nicht die Listen-Implementierung verwenden, und mussten die uns erstmal selber schreiben. Das ist ja aus jetziger Sicht auch unnötige Schikane :D
 

AquaBall

Top Contributor
Ok. 'Liste' lernen und mal selbst verketten, ... find ich wie 1x1-lernen.

Aber hier geht's anscheinend schon um eine praktikable Anwendung, wenn auch nur im Schulungsbereich.
Bin gespannt auf die Aufgabenstellung.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I 2D-Array Position der Liste ausgeben. Java Basics - Anfänger-Themen 2
P Was genau bringt mir es ein Array in eine Liste zu bringen Java Basics - Anfänger-Themen 3
P Verschachtelte Array Liste Java Basics - Anfänger-Themen 2
P Performance Array und Liste Java Basics - Anfänger-Themen 13
M Array liste Verdrehen Java Basics - Anfänger-Themen 8
A Eingelesene Daten in Array(Liste) abspeichern? Java Basics - Anfänger-Themen 18
J Liste in Array Java Basics - Anfänger-Themen 2
D Array-Liste nur einmal ausgeben Java Basics - Anfänger-Themen 8
Hijo2006 Array/Liste ohne Obergrenze Java Basics - Anfänger-Themen 38
S jList --> Array einfügen und Liste löschen Java Basics - Anfänger-Themen 5
E Array zu Liste - kleines Problem Java Basics - Anfänger-Themen 6
A Mehrdimensionalles Array in String ausgeben in Liste Java Basics - Anfänger-Themen 5
L Liste als Array realisieren Java Basics - Anfänger-Themen 23
J Initialisierung Array-Liste Java Basics - Anfänger-Themen 3
L Erste Schritte Super Constructor mit Array - Liste? Java Basics - Anfänger-Themen 15
D Array Liste Java Basics - Anfänger-Themen 7
A dynamisches Array - Index Liste Java Basics - Anfänger-Themen 2
M Array - String - Liste Java Basics - Anfänger-Themen 14
S Array Liste füllen Java Basics - Anfänger-Themen 16
J Mehrdimensionale Liste erstellen ohne Array Java Basics - Anfänger-Themen 14
S Liste oder Array filtern Java Basics - Anfänger-Themen 2
M Array oder Liste Java Basics - Anfänger-Themen 10
G Liste in Array schreiben Java Basics - Anfänger-Themen 13
J Array in einer Liste Java Basics - Anfänger-Themen 2
L array of objects in liste packen Java Basics - Anfänger-Themen 2
G Array - lineare Liste Java Basics - Anfänger-Themen 2
S 2dimensionales Array als Liste speichern Java Basics - Anfänger-Themen 19
R Liste in Variable speichern Java Basics - Anfänger-Themen 6
R Liste und Arrays Java Basics - Anfänger-Themen 12
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
J Ähnlichen String in Liste finden Java Basics - Anfänger-Themen 6
M Verkettete Liste Java Basics - Anfänger-Themen 1
M Vergleichen, ob eine Liste länger als andere ist Java Basics - Anfänger-Themen 6
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
D remove Object von einer Liste von Obejcts Java Basics - Anfänger-Themen 3
E Elemente aus Liste entfernen und hinzufügen Java Basics - Anfänger-Themen 3
M Nullpointer beim befüllen meiner Liste im Object Java Basics - Anfänger-Themen 3
D Länge einer Liste aufrufen. Java Basics - Anfänger-Themen 19
B Objekt aus generalisierter Liste entfernen Java Basics - Anfänger-Themen 11
H Liste Knoten NullPointerException Java Basics - Anfänger-Themen 7
W Liste mit Listen in JTable darstellen Java Basics - Anfänger-Themen 1
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
E Suchfunktion in einer Liste Java Basics - Anfänger-Themen 39
T ungeordnete Werte-Paare in einer Liste Java Basics - Anfänger-Themen 7
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
berserkerdq2 Warum soll ich shuffle nutzen, um bei Rückgabewert Collection eine Liste zurückzugeben? Java Basics - Anfänger-Themen 3
sserio Wieso werden nicht alle Primzahlen bis 1000 in meine Liste gepackt ? Java Basics - Anfänger-Themen 8
sserio Liste erstellt und ein Problem mit dem Index Java Basics - Anfänger-Themen 8
f3mys Objektwerte in Liste speichern und wieder abrufen Java Basics - Anfänger-Themen 23
H Java verkettete Liste, Wert eines Index zurückgeben Java Basics - Anfänger-Themen 1
K Warum ist die binäre Suche bei der verketteten Liste nicht so effektiv? Java Basics - Anfänger-Themen 3
I Liste von Infos von einer eigenen Annotation in Liste speichern Java Basics - Anfänger-Themen 0
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
Dorfschmied Kartesisches Produkt von zwei Liste mit Hashmaps<String,String> erstellen Java Basics - Anfänger-Themen 4
Igig1 Autoparkplatz verkettete Liste erstes und letztes Auto Java Basics - Anfänger-Themen 13
thor_norsk Verkette Liste Java Basics - Anfänger-Themen 27
R Rückgabe: verkettete Liste Java Basics - Anfänger-Themen 2
R einfach verkettete Liste Java Basics - Anfänger-Themen 1
R einfach verkettete Liste Java Basics - Anfänger-Themen 12
O Doppelt verkette Liste Element löschen Java Basics - Anfänger-Themen 15
B GUI extension mit einer Liste verbinden Java Basics - Anfänger-Themen 1
B Verkettete Liste durchgehen und einzelne Elemente in neue Liste tun Java Basics - Anfänger-Themen 9
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14
M Java Liste streamen Java Basics - Anfänger-Themen 10
AmsananKING Aussortierung einer Liste Java Basics - Anfänger-Themen 8
A Objekte mit Parametern in eine Liste packen Java Basics - Anfänger-Themen 19
A Korrigierte <String> Liste zurückgeben Java Basics - Anfänger-Themen 22
S Kann nicht auf die Liste zugreifen mit der Methode!? Java Basics - Anfänger-Themen 3
B Datentyp für Einzelnes Objekt oder Liste Java Basics - Anfänger-Themen 9
alice98 Erste Schritte Liste erstellen ohne vorgefertigte Klassen Java Basics - Anfänger-Themen 1
J Doppelt verkette Liste ich bitte um Hilfe Java Basics - Anfänger-Themen 4
I Liste gruppieren nach Monat? Java Basics - Anfänger-Themen 5
districon Element in Liste einfügen Java Basics - Anfänger-Themen 1
B Hilfe bei Map Liste erstellen Java Basics - Anfänger-Themen 10
Y Einfügen in eine doppelt verkettete Liste Java Basics - Anfänger-Themen 8
Y Knoten an einem gegebenen Index aus einer Liste entfernen. Java Basics - Anfänger-Themen 6
H Daten aus einer Datei in eine Liste speichern Java Basics - Anfänger-Themen 23
Gaudimagspam Linked Liste Java Basics - Anfänger-Themen 4
Z Liste umkehren Java Basics - Anfänger-Themen 1
S Eine Liste kopieren Java Basics - Anfänger-Themen 13
java3690 Java- liste füllen ud die werte addieren Java Basics - Anfänger-Themen 13
java3690 Liste mit zufälligen zahlen füllen Java Basics - Anfänger-Themen 27
java3690 eine liste sortieren Java Basics - Anfänger-Themen 12
J Element aus Liste nehmen Java Basics - Anfänger-Themen 3
B JUnit 4: Wie man die eigene Liste testen kann [TDD] Java Basics - Anfänger-Themen 46
B Interface List - Objekt übergeben? Einzelnes Objekt geht, aber Liste nicht? Java Basics - Anfänger-Themen 4
A Doppelt verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 17
H Liste speichern. Was lässt sich verbessern? Java Basics - Anfänger-Themen 7
M QuickSort und Liste Java Basics - Anfänger-Themen 6
N Methode um Objekte einer Liste hinzuzufügen Java Basics - Anfänger-Themen 1
B Summe von Property innerhalb einer Liste via Lambda Java Basics - Anfänger-Themen 1
V Collections int Werte in einer Liste sortieren Java Basics - Anfänger-Themen 23
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
V_Fynn03 Beliebiges Element in einer Liste löschen (Java)(Lineare Datenstrukturen) Java Basics - Anfänger-Themen 9
L Baum aus Integer Liste erstellen Java Basics - Anfänger-Themen 0
CptK Koordinate in Liste suchen Java Basics - Anfänger-Themen 20
C Verschiedene Objekte in einer Liste speichern Java Basics - Anfänger-Themen 6
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
D Doppelt Verkettete Zirkular-Liste Java Basics - Anfänger-Themen 1
L Liste in anderem Thread laden Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben