【发布时间】:2013-01-08 20:28:08
【问题描述】:
我在将 String 转换为二维 int 数组时遇到问题。
假设我有:
String x = "1,2,3;4,5,6;7,8,9"
(在我的程序中,它将是来自文本区域的字符串。)我想创建数组n x n
int[3][3] y = {{1,2,3},{4,5,6},{7,8,9}}
(下一阶段需要。)我尝试拆分字符串并创建一维数组,但我不知道下一步该做什么。
正如你所建议的,我首先尝试使用; 然后, 进行拆分,但我的解决方案不是很好。仅当有3 x 3 表时才有效。如何创建循环制作字符串数组?
public int[][] RunMSTFromTextFile(JTextArea ta)
{
String p = ta.getText();
String[] tp = p.split(";");
String tpA[] = tp[0].split(",");
String tpB[] = tp[1].split(",");
String tpC[] = tp[2].split(",");
String tpD[][] = {tpA, tpB, tpC};
int matrix[][] = new int[tpD.length][tpD.length];
for(int i=0;i<tpD.length;i++)
{
for(int j=0;j<tpD.length;j++)
{
matrix[i][j] = Integer.parseInt(tpD[i][j]);
}
}
return matrix;
}
【问题讨论】:
-
你必须使用 split by ;然后对于数组中的每个条目,由 ,
-
使用
split听起来像是一个可以走得更远的想法。 -
当我只使用逗号进行分割时:' public int[] RunMSTFromTextFile(JTextArea ta) { String p = ta.getText();字符串[] tp = p.split(",");整数矩阵 [] = 新整数 [tp.length]; for(int i=0;i
标签: java multidimensional-array type-conversion