2010-09-19 58 views
1

我对Java很新。我在文件中有一个5 * 5矩阵。当我试图将矩阵的元素导入到矩阵变量中并打印出来时,它以25 * 1而不是5 * 5打印。如何将单个列向量转换为相应的行向量?从列向量打印到行向量?

如果有人帮忙,那将会很棒。谢谢

+0

显示一些代码将有助于帮助您... – 2010-09-19 15:37:44

回答

1

将矩阵的数据存储在2D array中。如果你的矩阵是5x5,你需要5个数组的5个数组。如果我这样做,我会编写自己的Matrix类来存储和操作矩阵的内容,在内部使用二维数组。

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++; 
} 

这是,如果你在一维收集存储。您始终可以使用二维数组,或者一个自包含的列表或矢量。

1

你可以有向量的矢量。但不是Vector使用ArrayList(这是相同的,但没有不必要的同步)。

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

然后你可以打电话给2dVector.get(0).get(1)例如。您只需要用new ArrayList<?>初始化每个项目。请注意,您可以使用StringInteger或任何类型的替换?