Java 字符串到整数数组

Java 字符串到整数数组,java,string,int,Java,String,Int,我将以下代码作为字符串 [444398, 1] [111099, 0] [188386, 2] [149743, 0] 我想做一个二维数组,每个数字都是int。 比如说, int[]temp=newint[4][2] 我正在尝试使用 String challengetemp = Arrays.toString(Challenge.challenge(players[0], players[1])); challengeList[i][i] = Integer.parseInt(challeng

我将以下代码作为字符串

[444398, 1]
[111099, 0]
[188386, 2]
[149743, 0]
我想做一个二维数组,每个数字都是int。 比如说,

int[]temp=newint[4][2]

我正在尝试使用

String challengetemp = Arrays.toString(Challenge.challenge(players[0], players[1]));
challengeList[i][i] = Integer.parseInt(challengetemp.split("\\|",-1));
但对于初学者来说,ParseInt得到了一个类型不匹配并导致了一个错误


我需要能够以整数形式访问数组中的信息,我会这样做:

    String string = "[444398, 1]";
    string = string.substring(1, string.length()-1); //Turns it into "444398, 1"
    String[] stringInArray = string.split(", "); // Then makes it ["444398", "1"]

    int[][] temp = new int[4][2];

    temp[0][0] = Integer.parseInt(stringInArray[0]);
    temp[0][1] = Integer.parseInt(stringInArray[1]);

当然,您必须将其修改为一个循环,以便执行多次操作

我会这样做:

    String string = "[444398, 1]";
    string = string.substring(1, string.length()-1); //Turns it into "444398, 1"
    String[] stringInArray = string.split(", "); // Then makes it ["444398", "1"]

    int[][] temp = new int[4][2];

    temp[0][0] = Integer.parseInt(stringInArray[0]);
    temp[0][1] = Integer.parseInt(stringInArray[1]);
当然,您必须将其修改为一个循环,以便执行多次操作

我会利用它来做这样的事情

    String str = "[444398, 1][111099, 0][188386, 2][149743, 0]";

        str = str.replace("[","");
        str = str.replace("]","|");

        int arr[][] = new int[4][2];
        StringTokenizer token = new StringTokenizer(str,"|");
        for(int i=0;i<4;i++)
        {
            StringTokenizer nextToken = new StringTokenizer(token.nextToken(),",");
         for(int j=0;j<2;j++)
          {
            String tokenValue = nextToken.nextToken();
            if(tokenValue.contains("|"))
            {
                tokenValue.replace("|", "");
            }
            arr[i][j]= Integer.parseInt(tokenValue.trim());
          }
        }

        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 2; j++) {
                System.out.println(arr[i][j]);
            }
        };
String str=“[444398,1][111099,0][188386,2][149743,0]”;
str=str.replace(“[”,”);
str=str.replace(“]”,“|”);
int arr[][]=新int[4][2];
StringTokenizer令牌=新的StringTokenizer(str,“|”);
对于(inti=0;i,我将利用它来做类似的事情

    String str = "[444398, 1][111099, 0][188386, 2][149743, 0]";

        str = str.replace("[","");
        str = str.replace("]","|");

        int arr[][] = new int[4][2];
        StringTokenizer token = new StringTokenizer(str,"|");
        for(int i=0;i<4;i++)
        {
            StringTokenizer nextToken = new StringTokenizer(token.nextToken(),",");
         for(int j=0;j<2;j++)
          {
            String tokenValue = nextToken.nextToken();
            if(tokenValue.contains("|"))
            {
                tokenValue.replace("|", "");
            }
            arr[i][j]= Integer.parseInt(tokenValue.trim());
          }
        }

        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 2; j++) {
                System.out.println(arr[i][j]);
            }
        };
String str=“[444398,1][111099,0][188386,2][149743,0]”;
str=str.replace(“[”,”);
str=str.replace(“]”,“|”);
int arr[][]=新int[4][2];
StringTokenizer令牌=新的StringTokenizer(str,“|”);

for(int i=0;i
parseInt(String)
接受字符串作为参数,而不是
String[]
,这是
拆分(String,int)
返回的。为什么要拆分
|
?我们能看到实际输入的样子吗?以及
挑战是什么吗?请发布一个(我还没有在代码中检查这些,但是..)在
“[\\[\\]\n]”上拆分“
应该在第一个索引上拆分字符串,然后在
”上拆分“
应该处理内部数组。
parseInt(string)
接受字符串作为参数,而不是
字符串[]
,这是
拆分(string,int)的内容
返回。你为什么要在
\
上拆分?我们能看看你的实际输入是什么样子吗?以及
挑战是什么吗?
?请发布一条(我还没有在代码中检查这些,但是…)在
上拆分“[\\[\]\n]”“
应该在第一个索引上拆分字符串,然后在
上拆分,”
应注意内部阵列。