2013-04-09 1 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; 

, и вы можете распечатать его с помощью этого заявления

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

// где массив Vett [i]

Смежные вопросы