Вот что я пытаюсь сделать:Список всех возможных комбинаций
Учитывая список имен, распечатать все комбинации имен, взятых три в то время. Если в списке слишком мало элементов , ничего не печатайте. Имена должны происходить в том же порядке, в котором они указаны в списке . Так, если список содержит имена Кеннеди, Джонсон, Никсон, Форд, вы программируете отпечатки:
[Кеннеди, Джонсон, Никсон]
[Кеннеди, Джонсон, Форд]
[Кеннеди, Никсон, Форд ] [Джонсон, Никсон, Форд]Поместите значения в массиве, а затем использовать метод Arrays.toString(), чтобы напечатать результаты, по одному в каждой строке.
Параметры: список - - список имен.
Сейчас я использую операторы печати, чтобы убедиться, что я нахожусь на правильном пути, если да, я закончу адаптацию этого массива.
Вот мой код:
int x = 0;
int y = 1;
int z = 2;
for(int i = 0; i<list.length;i++){
for (int j = 0;j<3;j++){
System.out.print(list[x]);
System.out.print(list[y]);
System.out.print(list[z]);
if (j>=1){y++;}
if (z != list.length){z++;}
}
x++;
}
Вот ошибка я получаю:
Enter commands:
trio Kennedy, Johnson, Nixon,ford
Kennedyjava.lang.ArrayIndexOutOfBoundsException: 1
at MyAssign1.trio(MyAssign1.java:204)
at Assign1.processOneCommand(Assign1.java:109)
at CmdInterpreter.processCommands(CmdInterpreter.java:198)
at CmdInterpreter.processCommands(CmdInterpreter.java:230)
at CmdInterpreter.ooMain(CmdInterpreter.java:243)
at MyAssign1.main(MyAssign1.java:20)
Линия 204:
System.out.print(list[y]);
Что я делаю неправильно?
Вы пытаетесь получить доступ к элементу массива, который не существует. Например, если ваш массив имеет 3 элемента (длина 3, индексы от 0 до 2 включительно), и вы пытаетесь получить доступ к элементу 4 (индекс 3), вы увидите это исключение. –
Если это домашнее задание, отметьте его как таковой. –
Что находится в 'list'? –