如何将矢量的矢量存储到 java 中的二维数组中
How can I store vector of vectors into a 2d array in java
java 代码中的片段在这里:
public class MatrixUsingVectors {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
Vector<Vector<Integer> > vec= new Vector<Vector<Integer> >();
for(int i=0;i<3;i++)
{
Vector<Integer> op= new Vector<Integer>(3);
for(int j=0;j<3;j++)
{
op.add(sc.nextInt());
}
vec.add(op);
}
System.out.println(vec);
int [][] ar= new int[vec.size()][3];
vec.copyInto(ar);// this line throws ArrayStoreException
for(int[] c: ar)
{
System.out.println(c);
}
}
}
我想将向量 vec
的元素存储在名为 ar
的二维数组中。
我需要帮助来处理 ArrayStoreException
并想将 vec
的元素存储到 ar
中。
请帮忙。
向量是一维的。数组是一维的。 Vector.copyInto() 方法接受一个 i 维数组作为参数。
如果你想将一个 Vector of Vectors 复制到一个 2 Array 中,那么你需要遍历 2 个维度来进行复制
所以代码应该是这样的:
Object[][] rows = new Object[vec.size()][];
for (int i = 0; i < vec.size(); i++)
{
Vector<Object> vectorRow = ((Vector)vec.get(i));
Object[] arrayRow = new Object[vectorRow.size()];
vectorRow.copyInto( arrayRow );
rows[i] = arrayRow;
}
I need help to deal with ArrayStoreException
那是 运行 时间异常。首先,您需要担心复制数据的正确算法。然后,如果你想捕获异常,你可以在整个算法中添加一个 try/catch 块。
java 代码中的片段在这里:
public class MatrixUsingVectors {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
Vector<Vector<Integer> > vec= new Vector<Vector<Integer> >();
for(int i=0;i<3;i++)
{
Vector<Integer> op= new Vector<Integer>(3);
for(int j=0;j<3;j++)
{
op.add(sc.nextInt());
}
vec.add(op);
}
System.out.println(vec);
int [][] ar= new int[vec.size()][3];
vec.copyInto(ar);// this line throws ArrayStoreException
for(int[] c: ar)
{
System.out.println(c);
}
}
}
我想将向量 vec
的元素存储在名为 ar
的二维数组中。
我需要帮助来处理 ArrayStoreException
并想将 vec
的元素存储到 ar
中。
请帮忙。
向量是一维的。数组是一维的。 Vector.copyInto() 方法接受一个 i 维数组作为参数。
如果你想将一个 Vector of Vectors 复制到一个 2 Array 中,那么你需要遍历 2 个维度来进行复制
所以代码应该是这样的:
Object[][] rows = new Object[vec.size()][];
for (int i = 0; i < vec.size(); i++)
{
Vector<Object> vectorRow = ((Vector)vec.get(i));
Object[] arrayRow = new Object[vectorRow.size()];
vectorRow.copyInto( arrayRow );
rows[i] = arrayRow;
}
I need help to deal with ArrayStoreException
那是 运行 时间异常。首先,您需要担心复制数据的正确算法。然后,如果你想捕获异常,你可以在整个算法中添加一个 try/catch 块。