Java-字符串到矩阵
我有一个输入字符串,大小为9、16或25。。。(因此始终是一个具有整数根的数字。) 我需要从中创建一个二维矩阵,我想将其存储在二维数组中。我知道如何将其存储在一维数组中,但我不知道如何以正确的方式上载包含字符串元素的二维数组 应该是这样的: (假设我们现在有9个字符) 但顺序如下:Java-字符串到矩阵,java,arrays,matrix,Java,Arrays,Matrix,我有一个输入字符串,大小为9、16或25。。。(因此始终是一个具有整数根的数字。) 我需要从中创建一个二维矩阵,我想将其存储在二维数组中。我知道如何将其存储在一维数组中,但我不知道如何以正确的方式上载包含字符串元素的二维数组 应该是这样的: (假设我们现在有9个字符) 但顺序如下: 1 2 3 4 5 6 7 8 9 我想我会使用两个2为循环,但不确定 一个好的方法是计算字符串长度的平方根:这样,您可以找出矩阵的大小,然后将字符串拆分为矩阵所需的“行”或“列” int matrix
1 2 3
4 5 6
7 8 9
我想我会使用两个2为循环,但不确定 一个好的方法是计算字符串长度的平方根:这样,您可以找出矩阵的大小,然后将字符串拆分为矩阵所需的“行”或“列”
int matrixSize = Math.sqrt(input.length());
for(int i = 0; i<matrixSize; i++) {
for(int j = 0; j<matrixSize; j++){
matrix[i][j] = input[j];
j++;
}
}
intMatrixSize=Math.sqrt(input.length());
对于(int i=0;iString input=“1,2,3,4,5,6,7,8,9”;
String[]number=input.split(“,”);
int size=(int)Math.sqrt(numbers.length);
字符串[][]矩阵=新字符串[大小][大小];
对于(int i=0;i
试试这个
string s="123456789";
int n=new int[3][3],p=0;
for(int i = 0; i<3; i++)
for(int j = 0; j<3; j++){
matrix[i][j] =Integer.parseInt(s[p]);
P++;
}
string s=“123456789”;
int n=新int[3][3],p=0;
对于(int i=0;i让我们猜测您的输入如下:
String input="1,2,3,4,5,6,7,8,9";
然后,您可以执行以下操作:
String[] inputArray=input.replace("\"", "").split(",");
for (int i = 0; i < inputArray.length; i++) {
System.out.println(inputArray[i]);
}
int matrixSize=(int) Math.ceil(Math.sqrt(inputArray.length));
int i,j;
int index=0;
for(i=0;i<matrixSize;i++)
{
for(j=0;j<matrixSize && index<inputArray.length;j++,index++)
System.out.print(inputArray[index]);
System.out.println("");
}
String[]inputArray=input.replace(“\”,”).split(“,”);
for(int i=0;i 对于(i=0;i)什么是“正确的”"你想从中解脱出来的顺序?也给出一个输入字符串的例子。矩阵
变量应该是一维的。你能给我们展示你到目前为止的算法吗?请发布一个正确的输入字符串。我认为最后一次编辑是不对的。最初的输入显示为一维字符串数组,而不是设计红色输出。问题和答案不再以这种方式关联。
String input="1,2,3,4,5,6,7,8,9";
String[] inputArray=input.replace("\"", "").split(",");
for (int i = 0; i < inputArray.length; i++) {
System.out.println(inputArray[i]);
}
int matrixSize=(int) Math.ceil(Math.sqrt(inputArray.length));
int i,j;
int index=0;
for(i=0;i<matrixSize;i++)
{
for(j=0;j<matrixSize && index<inputArray.length;j++,index++)
System.out.print(inputArray[index]);
System.out.println("");
}