[[1,2, [3]], 4] мы можем объявить такой массив в Javascript, как бы этот массив был написан на Java? следующее - это что-то вроде того, что я хочу, но не работает, поскольку 4 не является 2-мерным массивом. Есть ли способ сделать это без списков?
int[][] arrayNestedTest = {{1,2},{3}};
int[][][] arrayNestedTest1 = {arrayNestedTest, 4};
Спасибо
зачем вам это нужно?
К сожалению, Java так не работает
Ваш вопрос - X / Y Проблема. Сообщите нам, какую проблему вы пытаетесь решить, вместо того, чтобы просить помощи в решении, что, по-видимому, не является правильным подходом.
Вы не можете поместить 4 в массив int[].
Хорошо, я скоро буду проводить онлайн-тест для работы, они говорят, что будут некоторые базовые тесты, такие как сглаживание массива произвольно вложенных массивов целых чисел в плоский массив целых чисел. например [[1,2, [3]], 4] -> [1,2,3,4]. Я слышал в тесте, что они позволяют вам использовать язык по вашему выбору. Мне нравится Java, поэтому я сказал, что попробую воссоздать проблему на Java для практики, пока я не потеряюсь, пытаясь это сделать.
Это довольно сложно, согласно ответу @JonasW. Я бы посоветовал не делать Java вашим предпочтительным языком, если вы не хотите усложнять себе жизнь.
Я полагаю, что если я выберу Java, у них могут быть разные тесты, не совсем уверен. Я все равно выучил это на javascript, что намного удобнее. более любопытно
@isaac согласился. Я лично не смог бы написать что-то работающее на Java, потому что я запутал бы вещь public static void main(String[] args)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам нужно, чтобы последний термин был в int[][], и вы можете сделать это с помощью чего-то вроде
int[][] arrayNestedTest = { { 1, 2 }, { 3 } };
int[][][] arrayNestedTest1 = { arrayNestedTest, { { 4 } } };
System.out.println(Arrays.deepToString(arrayNestedTest1));
Выходы
[[[1, 2], [3]], [[4]]]
также хотел бы знать, почему это было отклонено, кажется хорошим ответом?
Вы можете написать класс-оболочку, который содержит либо сам Int, либо массив других узлов:
class Node {
Integer value;
Node[] children;
Node(Node[] ...children) { this.children = children; }
Node(Integer value) { this.value = value; }
}
Итак, вы можете построить его как:
Node nested = new Node(
new Node( new Node(1), new Node(2), new Node( new Node(3) ) ),
new Node(4)
);
Но работать с этими узлами сейчас действительно сложно.
Нет, на Java это не сработает