JAVA. Вывести массив
Сразу вставлю код, так как проще будет объяснить что к чему:
class Leetcode {
public static void main(String [] args) {
System.out.print(plusOne(new int [] {3, 4, 2, 6, 4}));
}
public static int[] plusOne(int[] digits) {
for (int i = digits.length - 1; i >= 0; i--) {
if (digits[i] < 9) {
digits[i]++;
return digits;
}
digits[i] = 0;
}
digits = new int[digits.length + 1];
digits[0] = 1;
return digits;
}
}
В общем, мне нужно вывести готовый массив digits[] после проделанных операций. Пытался вывести с помощью System.out.print(plusOne(new int[] {3, 4, 2, 6, 4}));, но выводится только hash code: [I@3fee733d. Пытался даже просто вызвать метод plusOne(new int[] {3, 4, 2, 6, 4});, но затея плохая, так как метод сам по себе ничего не выводит, а лишь возвращает массив digits[]. (Код не мой, не догадался бы так решить, пока ничего не умею. P.S. код разобрал, понял как работает) Что делать?
Ответы (1 шт):
Просто так массив вывести нельзя - выведется его хэшькод в 16ричной системе.
Первый способ - написать руками
public static void printArr(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
//вызов
printArr(new int[]{1,2,3,4,5});
Второй способ - воспользоваться готовой функцией из стандартной библиотеке
import java.util.Arrays;
//...
System.out.println(Arrays.toString(new int[]{1,2,3,4,5}));