Veröffentlicht 24. Juli 200322 j Hallo und Guten Morgen! Hab da nochmal ne kleine Frage: Also mein Array ist als Student deklariert, und ich möchte gerne den Inhalt von einem Feld auf einen String (leerzeichen oder auch die ersten drei Anfangsbuchstaben oder so). mit myArray == " "; geht es ja nicht weil sich die Typen nicht mögen, geht es irgend wie anders? danke schön
24. Juli 200322 j Hey, Strings prüft man mit der Methode equals() auf Gleichheit. Allerdings würd es helfen, wenn Du etwas mehr zu Deinem Problem schreiben würdest, hier weiss z.B. keiner, was bei Dir ein "Student" ist. Grüsse, ET
24. Juli 200322 j Servus, also Deine Frage ist ziemlich schwammig, deswegen gibt es auch eine schwammige Antwort. Wenn Du wissen willst, welchen Typ ein Objekt im Array hat, dann sagst Du if(arr[0] indexof String) { // ist ein String } else { // ist kein String } [/PHP] Wenn Du ein Objekt auf einen String casten willst, schreibst Du [PHP] String bla = (String) arr[0]; Wenn es das nicht ist, dann wirst Du Deine Frage etwas umformulieren müssen. Peter
24. Juli 200322 j Original geschrieben von kingofbrain if(arr[0] indexof String) { // ist ein String } else { // ist kein String } [/PHP] [/b] Kleiner Fehler: instanceof anstatt indexof. Wenn ich das richtig verstanden habe, dann sollte er so testen, ob ein Leerzeichen steht: arr[0].equals("") oder arr[0].length==0
24. Juli 200322 j master, du hast die sache erfasst... naja ich brauch das zum einen um zu prüfen ob ein idiot nur ein leerzeichen oder einfach garnichts gespeichert hat. das funktioniert jetzt, aber wenn ich jetzt nach was ganz bestimmten suchen will nicht, also mein Array (objekt der Klasse Student) die Klasse Student hat 5 attribute Name Geschlecht Matrikelnummer Alter und Studienfach jetzt will ich nur die Matrikelnummer prüfen. nach meiner logik hab ich das so gemacht: if (studentArray.getMatrikel() == suchtext) { .... } aber wie gesagt das haut nciht hin... kann ich die geschichte mit : arr[0].equals("") noch spezifizieren??? danke nochmal...
24. Juli 200322 j if (studentArray.getMatrikel() == suchtext) { .... } das funktioniert nur, wenn beide Objekte vom Typ int sind. String kann man so nicht vergleichen, das macht man mit if (studentArray.getMatrikel().equals(suchtext)) { }
24. Juli 200322 j Original geschrieben von Vafe if (studentArray.getMatrikel() == suchtext) { .... } Wie ETnachHause schon sagte, kann man in Java Strings (leider) nicht mit dem Gleichheitsoperator überprüfen (dies ist nur bei nativen Datentypen: int, float möglich) sondern mit der Methode equals. Wenn getMatrikel() einen String zurück gibt, dann könnte man es so schreiben: if(studentArray.getMatrikel().equals(suchtext){ }
24. Juli 200322 j vieeeelen Dank! ihr habt mir den ganzen tag soooo schön weiter geholfen, jetzt hab ich noch eine letzte fage ;-) ich möchte ganz gerne den inhalt meines arrays in eine txt-datei schreiben und zwar einen index immer in eine zeile: in array[0] steht: NameGeschlechtMatrikelnummerAlterFach soll im der Datei so aussehen: Name Geschlecht Matrikelnummer Alter Fach ich weiß bis jetzt (so ungefär, bin ja blutige anfängerin) wie man eine txt-datei lesen kann, aber wie schreib ich rein... hab FileWriter gefunden, nur weiß ich nicht wie ich das benutze, z.B wie mit welcher methode ich den inhalt übergebe, u.s.w. danke nochmal
24. Juli 200322 j Ich bin jetzt nicht 100%ig sicher, ob ich weiß was du meinst, aber hier mein Versuch: Writer writer = new FileWriter("filename.txt"); for(int i = 0;studentenArray[i];i++){ Student std = studentenArray[i]; StringBuffer buf = new StringBuffer(); buf.append(std.getName()); buf.append(" "); buf.append(std.getGeschlecht()); buf.append(" "); buf.append(std.getMatrikelnummer()); buf.append(" "); buf.append(std.getAlter()); buf.append(" "); buf.append(std.getFach()); buf.append(System.getProperty("line.seperator")); writer.write(buf.toString()); } writer.close(); [/PHP]
24. Juli 200322 j Original geschrieben von themaster for(int i = 0;studentenArray[i];i++){ } [/PHP] [/b] Würde mich wundern wenn das geht. [PHP] for(int i = 0;i<studentenArray.length;i++){ } Gruß Jaraz
24. Juli 200322 j supi das hat geklappt, und löschen ? *gucklieb* ich schau in der zwischenzeit auch immer selber nach klassen, nur meist steige ich da nicht gleich durch und es dauert ne ewigkeit bis ich die tausend errors abgearbeitet hab...
24. Juli 200322 j hab schon, war ne überflüssige frage... ich lösche einen studenten, also einen eintrag.... aber da bin ich dann doch alleine mit meinem superhirn drauf gekommen ;-) so ich hab dann auch gleich feierabend, noch eine kurze frage: er hängt mir in der datei hinter dem Fach ein null an... wie krich ich das wech?
24. Juli 200322 j Ich sollte auch Feierabend machen, schreibe ja nur noch Mist: Noch ein Fehler in meinem Codelisting: Es muß line.sepa rator heißen und nicht line.sepe rator. Weil er seperator nicht findet, wird null angefügt, es sollte aber ein Zeilenumbruch sein. Grüße themaster
24. Juli 200322 j Danke du bist ein Schatz ! So mal schaun vielleicht morgen weiter ;-) schönen abend noch!!
25. Juli 200322 j ->Thread geteilt, da das ganze nichts mehr mit der Ursprungsfrage zu tun hatte.<- Bitte bei neuen Problemen neuen Thread mit passendem Titel öffnen, damit spätere User sowas auch über die Suche finden. Danke! Gruß Jaraz Hier ist der Rest vom Thread: http://fachinformatiker-world.de/forums/showthread.php?s=&threadid=50245
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.