![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Benutzer Registriert seit: 19.03.2005
Beiträge: 35
|
Hallo zusammen, ich habe zwei Probleme mit des Arrays. Wenn ich mit: char yesKey[] = {'J', 'a'}; zwei Buchstaben zuweise und die mit: System.out.println("Inhalt = " + yesKey[0] + yesKey[1]); ausgebe bekomme ich als Ergebins: Inhalt = Ja Soweit ist alles klar. Wenn ich jedoch nur den Inhalt, als ohne Text davor ausgeben möchte und: System.out.println(yesKey[0] + yesKey[1]); mache erhalte ich als Ergebnis: 171 Warum ist das so?? Das nächste Problem das ich mit den Arrays habe ist die Berrechnung der Länge. Zunächst deklariere/erzeuge ich zwei Arrays mit: char yesKey[] = {'J', 'a'}; char cancelKey[] = {'A', 'b', 'b', 'r', 'e', 'c', 'h', 'e', 'n'}; Nun kann ich mit: System.out.println(yesKey.length); System.out.println(cancelKey.length); die "Längen" ausgeben oder mit: System.out.println(yesKey.length + cancelKey.length); die addierte Länge. Die oberen Zeilen liefern 2 und 9 und di nachfolgende 11. Soweit funktioniert alles. Hier habe ich nun das Problem das wenn ich einen Text voran stellen möchte, also z.B.: System.out.println("Gesamtlänge =" + yesKey.length + cancelKey.length); erhalte ich als ergebnis 29. Die Längen werden aneinander gesetzt und nicht addiert. Ich muß hier einen generellen Denkfehler drin haben aber ich komm leider nicht drauf. Was mache ich falsch? Viele Grüße pixel |
| | |
| | Nach oben #2 | |
| Benutzer Registriert seit: 19.03.2005
Beiträge: 35
| Zitat:
System.out.println("Gesamtlänge =" + (yesKey.length + cancelKey.length)); lauten. | |
| | |
| | Nach oben #3 | |
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.481
| Zitat:
--> http://java.sun.com/j2se/1.5.0/docs/...ystem.html#out Es ist so, dass Du zwar ein Zeichen ausgeben kannst, das hier sollte also funktionieren: PHP-Code: PHP-Code: Grüße Ben. | |
| | |
| | Nach oben #4 |
| Neuer Benutzer Registriert seit: 17.03.2005
Beiträge: 18
|
Hi, Du versuchst gerade mit: Code: System.out.println(yesKey[0] + yesKey[1]); Dieser Operator existiert nur für Strings. Im ersten Fall hast Du einen String gehabt und 2x einen char konkateniert. Das geht. Versucht doch mal Code: System.out.println(yesKey); |
| | |
| | Nach oben #5 |
| Projektleiter Registriert seit: 30.11.2005 Ort: Bottrop
Beiträge: 1.110
|
Die Werte im Array sind vom Typ "char". Wenn du zwei chars addierst (und genau das passiert, wenn du sie mit einem "+" verbindest), werden sie in ihren Int-Wert umgerechnet und addiert. Das liegt daran, dass ein char nichts wesentlich anderes ist, als ein int, mit einem Zahlenbereich von 0 bis 256. Versuch's mal: Code: char myChar = 200;
__________________ Patrick Gotthardts Weblog. |
| | |
| | Nach oben #6 |
| Benutzer Registriert seit: 19.03.2005
Beiträge: 35
|
Aber was ich dann nicht so ganz verstehe ist das wenn ich ein: Code: System.out.println("Der Inhalt ist " + yesKey[0] + yesKey[1]);
Code: Der Inhalt ist Ja Viele Grüße pixel |
| | |
| | Nach oben #8 |
| Projektleiter Registriert seit: 30.11.2005 Ort: Bottrop
Beiträge: 1.110
|
Dort addierst du einen String und ein char. Das ergibt einen String (der neue char wird einfach hinten dran gehängt). Und dann passiert nichtmal das gleiche. Es gibt übrigens auch einen String-Konstruktor, der ein char-Array als Parameter akzeptiert.
__________________ Patrick Gotthardts Weblog. |
| | |
| | Nach oben #9 | |
| Benutzer Registriert seit: 19.03.2005
Beiträge: 35
|
ok verstanden. Ich habe im Java-Buch auch eine verständlicher Erklärung gefunden die auch in eueren Antwoten enthalten ist. "Sobald man ein char, short oder byte mit einem Operator verbindet werden die Operanten in int umgewandelt" deshalb funktioniert auch ein Code: hort s1 = 1, s2 = 2, s3; s3 = s1 + s2; Code: hort s1 = 1, s2 = 2, s3; s3 = (short) (s1 + s2); Zitat:
Viele Grüße pixel | |
| | |
| | Nach oben #10 | ||
| Benjamin Klaile Registriert seit: 02.12.2004 Ort: Remagen
Beiträge: 4.481
| Zitat:
--> http://java.sun.com/j2se/1.5.0/docs/...ructor_summary Grüße Ben. | ||
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Problem E-Mails zu senden | Jann Hendrik | Plauderecke | 7 | 25.05.2007 21:37 |
| Logisches Problem beim einsatz von Ereignissen | Prophet | Allgemeine Java-Programmierung | 19 | 05.06.2006 22:08 |
| Problem mit Cookie und Reloads... | Bookworm | PHP-Programmierung | 10 | 13.04.2006 12:09 |
| OSX + Eclipse 3.1 Problem | bacarni | Eclipse | 3 | 29.07.2005 21:19 |
| [PHP] Was sind eigentlich Arrays? | Ben | Tutorials | 5 | 09.12.2004 09:29 |