Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-字符串到矩阵_Java_Arrays_Matrix - Fatal编程技术网

Java-字符串到矩阵

Java-字符串到矩阵,java,arrays,matrix,Java,Arrays,Matrix,我有一个输入字符串,大小为9、16或25。。。(因此始终是一个具有整数根的数字。) 我需要从中创建一个二维矩阵,我想将其存储在二维数组中。我知道如何将其存储在一维数组中,但我不知道如何以正确的方式上载包含字符串元素的二维数组 应该是这样的: (假设我们现在有9个字符) 但顺序如下: 1 2 3 4 5 6 7 8 9 我想我会使用两个2为循环,但不确定 一个好的方法是计算字符串长度的平方根:这样,您可以找出矩阵的大小,然后将字符串拆分为矩阵所需的“行”或“列” int matrix

我有一个输入字符串,大小为9、16或25。。。(因此始终是一个具有整数根的数字。)

我需要从中创建一个二维矩阵,我想将其存储在二维数组中。我知道如何将其存储在一维数组中,但我不知道如何以正确的方式上载包含字符串元素的二维数组

应该是这样的:

(假设我们现在有9个字符)

但顺序如下:

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;i
String 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("");
    }