У меня вопрос, который я пытаюсь ответить за класс, который я принимаю (да, это вопрос о домашнем задании - дополнительный кредит), но я не хочу, чтобы кто-то просто дал мне ответ. Я бы предпочел, чтобы кто-то мягко указал мне в правильном направлении на то, что я должен (или не должен) делать, чтобы решить это.Java Array Loop
Этот класс - это мое первое знакомство с Java, поэтому, если мой код и понимание натолкнутся так же страшно, почему бы и нет, поэтому я заранее извиняюсь.
Проблема:
Мне нужно создать массив 3 ряда по 5 столбцов по 3 комплекта. Мой из положить будет напоминать:
Набор 1:
Набор 2:
44445164 +10617451515053691368888и т.д., и т.д.
код, который я был в состоянии выяснить (до сих пор) производит диапазон, что нужно для 3 комплекта в целом, 0-44, но я не уверен, как отформатировать это так это выглядит так. Когда я запускаю код, у меня только один длинный список, идущий от 0-44.
Может ли кто-нибудь указать мне в правильном направлении, что я должен делать, чтобы разбить эти списки на строки/столбцы, которые мне нужны, просто не передав мне ответ? Я хочу быть в состоянии сказать, что я сам это понял, просто нужно было попросить небольшое направление, чтобы добраться туда.
Мой код:
public static void main(String[] args) {
int list[][][] = new int [3][5][3]; //create rows, column, units (buildings) array structure.
int i,j,k; //assign variables for row, column and unit (building).
int ctr = 0; //set counter.
//create array
for (i=0; i<3; i++)
for (j=0; j<5; j++)
for (k=0; k<3; k++)
{list[i][j][k] = ctr++;}
for (i=0; i<3; i++)
for (j=0; j<5; j++)
for (k=0; k<3; k++)
//Format array
{System.out.println(list[i][j][k] + " ");}
}
EDIT:
Так некоторый прогресс здесь благодаря предложениям всех. Я могу форматировать это в общем виде, который необходим для 5 столбцов данных. Я понял (перешагнув это), что моя настройка для исходного «int list [] [] []» была неправильной, поэтому у меня возникли проблемы с этим форматированием, как мне было нужно правильно (количество столбцов и строк) ,
Следующий вопрос, который у меня был бы, если я могу спросить, будет, как я хотел бы вставить текст «Установить X» там, где это необходимо? Мне удалось выяснить место установки 1, но я хотел бы (сейчас), чтобы перед строкой, начинающейся с строки 15, и словами «Установить 3» перед словами, «Начало 2», начинается строка 30.
Должен ли я создать отдельные циклы для каждого диапазона значений, который будет иметь каждый блок «Установить X» (диапазон по размеру), а затем просто пометить их соответственно?
Модифицированный код в этом пункте приведен ниже (и, надеюсь, отформатирован лучше, чем раньше). Опять же, не ищем никого, кто мог бы передать мне ответ, просто надеясь получить какое-то направление в отношении того, что искать, чтобы понять это.
public class ECThreeD {
public static void main(String[] args) {
int list[][][] = new int[3][3][5]; // create rows, column, units
// (buildings) array structure.
int i, j, k; // assign variables for row, column and unit (building).
int ctr = 0; // set counter.
// create array
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
for (k = 0; k < 5; k++) {
list[i][j][k] = ctr++;
}
}
}
System.out.println("Set 1");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
for (k = 0; k < 5; k++) {
// Format array
System.out.print(list[i][j][k] + " ");
}
System.out.println();
}
}
}
}
Пожалуйста, используйте более приятные отступы, это, как правило, не очень хорошо. Кроме того, для циклов и условных ветвей всегда используются скобки ... Вы будете благодарны, код намного проще поддерживать, если его легче читать. – ppeterka
Я буду помнить об этом, как я уже сказал, это действительно мое первое выступление, как указано, если мой код ужасен (даже внешне), я извиняюсь. Ваша точка отмечена, благодарю вас. –
Не извиняйтесь, каждый должен где-то начинать. Ваш пост на самом деле лучше форматируется, чем много первых (и даже вторых, третьих и т. Д.) Постов, и показывает усилия по соблюдению правил на этом сайте. Я написал это, как хедз-ап, что он платит, чтобы сделать его приятным. Следите за хорошими вопросами! – ppeterka