从 Java 中的字符串中提取有符号整数
Extract signed integers from string in Java
给定一个形式为
的字符串
string str= "-1@10@-1#10@-1@10#-1@10@-1"
一行中的数字用'@'
分隔,行之间用'#'
分隔
所以上面的行计算为以下矩阵:
-1 10 -1
10 -1 10
-1 10 -1
此外,数字可以是任何数字(不一定是-1和10)另一个例子是
srting str= "1@10@1#10@2@10#1@10@1"
应该计算为
1 10 1
10 2 10
1 10 1
如何在 Java 中执行此操作?
您可以使用以下算法来完成:
- 使用
String
的split(...)
方法 拆分'#'
符号上的字符串
- 创建一个数组的数组,其大小为分割
- 对于之前拆分中的每个字符串,在
'@'
符号处拆分行。
- 做一个内切分大小的数组,赋给二维数组对应的索引
- 对于内部拆分中的每个项目,使用
Integer.parseInt
,并将连续的整数分配给内部数组的元素
下面的代码工作正常
public class matrix{
public static void main(String []args)
{
String string="-1@10@-1#10@-1@10#-1@10@-1" ;
String[] rows = string.split("#");
for(int j=0;j<rows.length;j++)
{
String[] cols= rows[j].split("@");
int[][] matrix = new int[rows.length][cols.length];
for(int k=0;k<cols.length;k++)
{
matrix[j][k]=Integer.parseInt(cols[k]);
System.out.print(matrix[j][k]+" ");
}
System.out.println();
}
}
}
给出输出
-1 10 -1
10 -1 10
-1 10 -1
给定一个形式为
的字符串string str= "-1@10@-1#10@-1@10#-1@10@-1"
一行中的数字用'@'
分隔,行之间用'#'
分隔
所以上面的行计算为以下矩阵:
-1 10 -1
10 -1 10
-1 10 -1
此外,数字可以是任何数字(不一定是-1和10)另一个例子是
srting str= "1@10@1#10@2@10#1@10@1"
应该计算为
1 10 1
10 2 10
1 10 1
如何在 Java 中执行此操作?
您可以使用以下算法来完成:
- 使用
String
的split(...)
方法 拆分 - 创建一个数组的数组,其大小为分割
- 对于之前拆分中的每个字符串,在
'@'
符号处拆分行。 - 做一个内切分大小的数组,赋给二维数组对应的索引
- 对于内部拆分中的每个项目,使用
Integer.parseInt
,并将连续的整数分配给内部数组的元素
'#'
符号上的字符串
下面的代码工作正常
public class matrix{
public static void main(String []args)
{
String string="-1@10@-1#10@-1@10#-1@10@-1" ;
String[] rows = string.split("#");
for(int j=0;j<rows.length;j++)
{
String[] cols= rows[j].split("@");
int[][] matrix = new int[rows.length][cols.length];
for(int k=0;k<cols.length;k++)
{
matrix[j][k]=Integer.parseInt(cols[k]);
System.out.print(matrix[j][k]+" ");
}
System.out.println();
}
}
}
给出输出
-1 10 -1
10 -1 10
-1 10 -1