2013-04-09 134 views
-2

我已經用Java編寫了這個代碼,它接受一些整數並在數組中插入整數並打印數組。問題是,輸出打印所有0如何在java中打印數組?

public class Array2 { 
    private static int i; 
    private static int[] vett ; 
    private static int num2; 
    private static int n; 



public static void main(String[] args) throws IOException{ 


    InputStreamReader In = new InputStreamReader(System.in); 
    BufferedReader myInput = new BufferedReader(In); 
    String stringa = new String(); 

    String s=""; 

    System.out.println("Enter the number of integers:"); 
    n = Integer.parseInt(myInput.readLine()); 

     vett=new int[n]; 

       for(i=0;i<n;i++){ 
        System.out.println("Insert integer:"); 
        num2 = Integer.parseInt(myInput.readLine()); 
        s=s+vett[i]+" "; 

     } 
       System.out.println(s); 

} 



} 

運行:

Enter the number of integers: 
2 
Insert integer: 
1 
Insert integer: 
2 
0 0 

回答

2

你是不是你的存儲變量num2到你的陣列。

嘗試

vett[i] = num2; 

您已經閱讀從輸入流的num2值之後。

BTW,簡單地打印陣列,以檢查它的內容,你可以使用

System.out.println(java.util.Arrays.toString(vett)); 

你並不需要使用一個單獨的字符串來跟蹤數組內容。

1

你沒有真正做什麼用num2,你需要像

vett[i] = num2; 
1

也許你忘了下面一行:

vett[i] = num2; 
2

您忘記實際上填入數字陣列:

for(i=0;i<n;i++){ 
    System.out.println("Insert integer:"); 
    num2 = Integer.parseInt(myInput.readLine()); 
    vett[i] = num2; // <-- this line here 
    s=s+vett[i]+" "; // and just an info: this is the same as s+=vett[i]+" "; 
} 
1

這是你如何在Java

System.out.println(Arrays.toString(array)); // where array is vett[i] 
0

分配num2打印陣列vet[i]。默認情況下,如果您不指定值,它的值爲零。

vett[i] = num2; 
s=s+vett[i]+" "; 
0

你不到底用什麼NUM2,你需要像

vett[i] = num2; 

和U可以使用下面的語句打印

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

//其中陣列是vett [i]