Java: простые массивы - PullRequest
       4

Java: простые массивы

0 голосов
/ 26 сентября 2011

Я делаю этот массив, где первое число в массиве должно быть 15, а третье тоже. Затем мне нужно распечатать массив на экране, но я получаю ошибку, когда я делаю это, я прочитал, что я должен написать цикл при печати массива. Как это возможно?

Это мой текущий код.

    int[] i = {15,0,15,0,0};
    System.out.println(i);

А какая разница в использовании этого метода или

int [] i = new int [5];

Заранее спасибо,

Майкл.

Ответы [ 6 ]

5 голосов
/ 26 сентября 2011

Для печати массива используйте Arrays.toString();

import java.util.Arrays;

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


// or print it in the loop
for(int e : i) {
   System.out.print(e);
}

О различиях между двумя методами:

int [] i = new int [5]; // five evements are allocated

// the number of elements are determined by the initialization block
int[] i = {15,0,15,0,0}; 
2 голосов
/ 26 сентября 2011

Вы можете написать цикл следующим образом:

for(int j=0; j < i.length; j++) {
  System.out.println("Value at index " + j + ": " + i[j]");
}
1 голос
/ 26 сентября 2011

В java считается «ошибкой», что реализации toString () нет - вы получаете реализацию java.lang.Object.

Вместо этого вы должны использовать статический метод Arrays.toString (массив) .

При записи int [] i = new int [5]; выделяется памяти для 5 элементов, но все они инициализируются в ноль (0).Вам нужно будет написать больше кода для присвоения значений элементам.

1 голос
/ 26 сентября 2011

Этот код выполняется просто отлично , хотя, вероятно, это не та строка, которую вы ожидаете, поскольку значение по умолчанию для toString() (что и выполняется) определяется как:

getClass().getName() + '@' + Integer.toHexString(hashCode())

Чтобы распечатать фактическое содержимое строки, вы должны использовать метод, предложенный, например, @Oleg.

Утверждение int[] i = {15,0,15,0,0}; является просто сокращением для более многословного

 int [] i = new int [5];
 i[0] = 15;
 i[1] = 0;
 i[2] = 15;
 i[3] = 0;
 i[4] = 0;
0 голосов
/ 06 марта 2014

Разница между ними в том, что

int[] i = {15,0,15,0,0};
System.out.println(i);

элементы определяются блоком инициализации, а

int [] i = new int [5]; 

пять элементов выделяются в int i.

0 голосов
/ 26 сентября 2011

Либо вы можете напечатать так:

for (int index=0; index<i.length; index++)
System.out.println("Array's value at index " + index  + "is: " + i[index] );

Или вы можете использовать функцию toString ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...