Java-Arrays, die seltsame Zahlen und Text ausgeben [duplizieren]

8

Ich bin neu in der Programmierung. Ich bin sicher, dass die Antwort auf diese Frage da draußen ist, aber ich habe keine Ahnung, wonach ich suchen soll.

Also um. ok, ich werde gleich damit anfangen.

Hier ist mein Code:

%Vor%

Kompilieren & amp; funktioniert gut. Es ist nur die Ausgabe von CMD, dass mir schwindelig ist.

Dies ist die Ausgabe: [I@3e25a5

Ich möchte, dass sie genau die gleichen Zahlen aus der Liste (arr) darstellen. Wie mache ich das?

    
Racket 18.12.2010, 19:22
quelle

10 Antworten

19

Jedes Objekt hat eine toString () -Methode, und die Standardmethode ist die Darstellung der Klassennamen des Objekts, gefolgt von seinem Hashcode "@". Sie sehen also die standardmäßige toString () - Repräsentation eines int-Arrays. Um die Daten im Array zu drucken, können Sie

verwenden %Vor%

Oder Sie können das Array mit einer for-Schleife durchlaufen, wie andere in diesem Thread gepostet haben.

    
Hovercraft Full Of Eels 18.12.2010 19:25
quelle
5

Dies ist die Standard-Zeichenfolgendarstellung von Array (der seltsame Text).

Sie müssen es nur durchlaufen:

%Vor%     
Goran Jovic 18.12.2010 19:24
quelle
5

Um die Werte zu drucken, verwenden Sie.

%Vor%     
Enrique 18.12.2010 19:25
quelle
4

Es druckt seine .toString () Methode, die Sie jedes Element

drucken sollten %Vor%     
user547215 18.12.2010 19:30
quelle
4

BTW Sie können

schreiben %Vor%

oder sogar

%Vor%

oder

%Vor%     
Peter Lawrey 18.12.2010 19:34
quelle
4
%Vor%

Die aktuelle Ausgabe ist classtype@hashcode .

Wenn Sie Arrays mit mehr als einer Dimension drucken möchten, verwenden Sie:

%Vor%

Denken Sie auch daran, die Methode toString() für benutzerdefinierte Klassen zu überschreiben, damit Sie sie erhalten eine Darstellung des Objekts, wie Sie es gewählt haben, und nicht die Standarddarstellung, die classtype@hashcode

ist     
Emil 18.12.2010 19:25
quelle
3

So:

%Vor%

Diese "seltsame Zahl" ist die Referenz für das ausgedruckte Array. Es ist das Standardverhalten, das in die Methode java.lang.Object toString () eingebaut ist.

Sie sollten es in Ihren eigenen Objekten überschreiben, wenn die Referenz nicht ausreicht.

    
duffymo 18.12.2010 19:25
quelle
2
%Vor%     
Oswald 18.12.2010 19:26
quelle
2

Meine Version eines kürzeren!

Verwenden Sie Arrays.toString () und < a href="http://developer.android.com/reference/java/io/PrintStream.html#printf%28java.lang.String,%20java.lang.Object...%29"> PrintStream.printf (String Format, Objekt ... args) .

%Vor%     
Anton Dozortsev 31.12.2013 11:58
quelle
-3

Sie haben die Referenz und nicht die Werte an der Referenz gedruckt ... Eines Tages wird alles mit C klar.

    
EnabrenTane 18.12.2010 19:26
quelle

Tags und Links