Frage zu Java, Konsolenausgabe?

5 Antworten

Damit ein Objekt in der Konsole für Menschen lesbar ausgegeben wird, muss man eine Methode namens toString() überschreiben. Macht man das nicht, so wie in deinem Fall, dann wird so eine mysteriöse Zahl ausgespuckt.

Mehr dazu und Lösungen zu deiner Frage findest du beipielsweise hier: https://stackoverflow.com/questions/409784/whats-the-simplest-way-to-print-a-java-array

In Java, arrays don't override toString(), so if you try to print one directly, you get the className + '@' + the hex of the hashCode of the array, as defined by Object.toString().

Das musst du genau so machen, wie du auch die Werte veränderst: Mit einer Schleife über den Inhalt des Arrays. Sonst gibt er dir den "Namen" des Arrays aus und das ist eben die Speicheradresse, an der das Array steht.

So etwas in der Richtung:

for(int value : nums)
    System.out.println(value + ", ");
Woher ich das weiß:Hobby – private Programmiererei

Ich verstehe deine frage nicht ganz aber um den inhalt auszugeben kannst du glaube ich

nums.toString(); verwenden oder

for(int i=0;i<nums.length();i++){

System.out.println(nums[i]);

}

Versuch mal `System.out.println(Array.toString(shiftLeft(nums));`

Woher ich das weiß:Studium / Ausbildung – Hobby + Ausbildung

Es gibt dafür in der Arrays Klasse eine toString() Methode:

System.out.println(Arrays.toString(shiftLeft(nums));