Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben
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

Geschrieben

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...

Geschrieben

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)) {

}

Geschrieben
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){

}

Geschrieben

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

Geschrieben

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]

Geschrieben
Original geschrieben von themaster


for(int i = 0;studentenArray[i];i++){

}
[/PHP]

[/b]

Würde mich wundern wenn das geht. :D

[PHP]
for(int i = 0;i<studentenArray.length;i++){

}

Gruß Jaraz

Geschrieben

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...

Geschrieben

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?

Geschrieben

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

Gast
Dieses Thema wurde nun für weitere Antworten gesperrt.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...