2010-09-19 2 views
1

Я очень новичок в Java. У меня есть 5 * 5 матрица в файле. Когда я пытаюсь импортировать элементы матрицы в матричную переменную и печатать ее, она печатает в 25 * 1, а не 5 * 5. Как преобразовать отдельный вектор столбца в соответствующий вектор строки?Печать из вектора столбца в вектор строки?

Было бы здорово, если бы кто-то помог. Спасибо

+0

Показанный код поможет вам ... –

ответ

1

Сохраните ваши данные для матрицы в 2D array. Если ваша матрица равна 5x5, вам понадобится 5 массивов из 5 массивов. Если бы я делал это, я бы написал свой собственный класс Matrix для хранения и управления содержимым матрицы, используя внутренние массивы 2d.

1

Походит домашнее задание,

// Assuming you have a Vector holding Elements 
Vector<Element> vector = new Vector<Element>(); 

// Populate vector 

// Print vector contents in 5 X 5 
int i = 0; 
for (Element e : vector) { 
    // If already printed 5 elements 
    if (i % 5 == 0) { 
     System.out.print("\n"); 
    } 
    System.out.print(e.toString() + ' '); 
    i++; 
} 

Это если вы храните в коллекции 1D. Вы всегда можете использовать 2D-массив или самосогласованный список или вектор.

1

У вас может быть вектор векторов. Но вместо Vector используйте ArrayList (это то же самое, но без ненужной синхронизации).

List<List<?>> 2dVector = new ArrayList<List<?>>() 

Тогда вы можете позвонить по телефону 2dVector.get(0).get(1). Вам просто нужно будет инициализировать каждый элемент с помощью new ArrayList<?>. Обратите внимание, что вы можете заменить ? на String, Integer или независимо от вашего типа.

Смежные вопросы