如何处理 java 中的 String args[] 中的逗号
how to deal with the comma in String args[] in java
我的代码运行良好,没有在命令中传递任何逗号。我不确定如何更改我的代码来处理命令中的逗号。
这就是我现在拥有的:
public static void main(String args[]) {
String key = args[0]; // key
int n = (int) Math.sqrt(args.length - 1);
String mat[][] = new String[n][n]; //matrix
int count = 1;
for (int r = 0; r < n; r++) {
for (int c = 0; c < n; c++){
if (count == args.length)
break;
mat[r][c] = args[count];
count++;
}
}
find_key(mat,n,key);
}
当我运行
java 查找键 15 60 10 9 20 8 4 12 7 3
我的输出:未找到
java 查找键 3 60 10 9 20 8 4 12 7 3
我的输出:位置:(3,3)
但是,该程序必须接受多个命令行参数。第一个参数是正在寻找的键,连续的参数是方阵的元素,行列,其中每行由逗号分隔,无穷大用 I 缩写。
两个示例调用及其对应的矩阵是
Invocaiton 1:java findKey 15 60 10 9, 20 8 4, 12 7 3
Invocaiton 2:java findKey 71 I I 71 20, I I 60 17, 72 41 12 5, 27 5 4 3
对于第一次调用,键 = 15 并且 3×3 矩阵不包含该键,因此应该找不到输出。第二次调用时,4×4矩阵中key=71,确实包含key,所以输出应该是(1,3)).
根据您的评论,您想忽略逗号。在这种情况下,您可以在将值分配给 mat
.
的元素时将其从参数中删除
mat[r][c] = args[count].replace(",", "")
一些背景信息:args[]
表示的字符串被空格分隔,因此数组的结果元素如下所示:
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 15| 60| 10| 9,| 20| 8| 4,| 12| 7| 3|
因此,逗号是该行最后一个元素的一部分,可以简单地删除。
我的代码运行良好,没有在命令中传递任何逗号。我不确定如何更改我的代码来处理命令中的逗号。
这就是我现在拥有的:
public static void main(String args[]) {
String key = args[0]; // key
int n = (int) Math.sqrt(args.length - 1);
String mat[][] = new String[n][n]; //matrix
int count = 1;
for (int r = 0; r < n; r++) {
for (int c = 0; c < n; c++){
if (count == args.length)
break;
mat[r][c] = args[count];
count++;
}
}
find_key(mat,n,key);
}
当我运行
java 查找键 15 60 10 9 20 8 4 12 7 3
我的输出:未找到
java 查找键 3 60 10 9 20 8 4 12 7 3
我的输出:位置:(3,3)
但是,该程序必须接受多个命令行参数。第一个参数是正在寻找的键,连续的参数是方阵的元素,行列,其中每行由逗号分隔,无穷大用 I 缩写。 两个示例调用及其对应的矩阵是
Invocaiton 1:java findKey 15 60 10 9, 20 8 4, 12 7 3
Invocaiton 2:java findKey 71 I I 71 20, I I 60 17, 72 41 12 5, 27 5 4 3
对于第一次调用,键 = 15 并且 3×3 矩阵不包含该键,因此应该找不到输出。第二次调用时,4×4矩阵中key=71,确实包含key,所以输出应该是(1,3)).
根据您的评论,您想忽略逗号。在这种情况下,您可以在将值分配给 mat
.
mat[r][c] = args[count].replace(",", "")
一些背景信息:args[]
表示的字符串被空格分隔,因此数组的结果元素如下所示:
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 15| 60| 10| 9,| 20| 8| 4,| 12| 7| 3|
因此,逗号是该行最后一个元素的一部分,可以简单地删除。