2016-04-16 13 views
0

私はYouTubeでチュートリアルでJavaを学んでいます。コードを少し変更したところ、結果は変だった。ここに私のコードです:Javaで配列を印刷する

import java.util.Random; 

public class array { 

    public static void main(String args[]){ 
     int bucky[]={1,2,3,4,5}; 
     change(bucky); 

     System.out.println(bucky); 
    } 

    public static void change(int x[]){ 
     // change the array 
     for(int counter=0;counter<x.length;counter++) 
      x[counter]+=5; 
    } 
} 

は、しかし、結果は、チュートリアルのコードがある[[email protected]

た:

import java.util.Random; 

public class array { 

    public static void main(String args[]){ 
     int bucky[]={1,2,3,4,5}; 
     change(bucky); 
     for(int y:bucky) 
     System.out.println(y);// here! 
    } 

    // change the array 
    public static void change(int x[]){ 
     for(int counter=0;counter<x.length;counter++) 
      x[counter]+=5; 
    } 
} 

答えて

1

は、それが配列である場合でも、バッキーがあり、オブジェクトことを忘れないでくださいプリミティブintのため、そのオブジェクトを印刷する正しい方法を使用する必要があります... あなたのケースでは、配列を印刷する正しい方法

System.out.println(Arrays.toString(bucky)); 

代わりに

System.out.println(bucky); 

System.out.println(bucky);だけ進形式でクラス名とhashCode()を返すスーパークラスObjecttoString()メソッドを呼び出しているので。

0

配列を印刷するには、使用:あなたのケースでそう

System.out.println(Arrays.toString(array)); 

は、 arraybuckyに置き換えられます。