Java 二维数组中的检查字符串
我从一个.tsv文件中得到了一个2d数组,我已经对它做了这样的处理 该文件的信息内容类似于:Java 二维数组中的检查字符串,java,Java,我从一个.tsv文件中得到了一个2d数组,我已经对它做了这样的处理 该文件的信息内容类似于: HG sn FA PC 2 16:0 PI 1 18:0 PS 3 20:0 PE 2 24:0 26:0 16:1 18:2 String[][] root; List<String> lines = Files.readAllLines(Paths.get("table.txt"), StandardCh
HG sn FA
PC 2 16:0
PI 1 18:0
PS 3 20:0
PE 2 24:0
26:0
16:1
18:2
String[][] root;
List<String> lines = Files.readAllLines(Paths.get("table.txt"), StandardCharsets.UTF_8);
lines.removeAll(Arrays.asList("", null));
root = new String[lines.size()][];
for(int i =0; i<lines.size(); i++){
root[i] = lines.get(i).split("\t");
这个用户输入可能类似于PC 34:2,然后我想检查2darray中的字符串hg,以查找关于sn值的信息。该值将在以后的数学算法中使用
但是如何检查2d数组中的字符串hg以获取sn值的信息?您可以通过在根上运行for循环并检查根[i][0]来执行简单的搜索
String result = null;
for(int i=0;i<root.length;i++){
if(root[i][0].equals(hg)){
result = root[i][1];
break;
}
}
System.out.println("result=" + result);
如果是,则返回根[i][1]
[更新]
相同的代码:
String sn;
for(int i = 0; i < root.length; i++) {
if (root[i][0].equals(hg)) { // check for matching value of 'hg' in first column
sn = root[i][1]; // corresponding 'sn' value from 2D array
break;
}
}
// to extract double value from string sn
double sn_value = -1;
if (sn != null) {
sn_value = Double.valueOf(sn);
}
还可以阅读关于HashMap和基于键值检索的HashTable的内容,在将来会有所帮助
干杯
Mitesh请使用适当的代码缩进。我不太确定应该如何构建for循环,以及如何返回值?^^^在java中,使用对象很容易;因此,我建议大家遵循@Svettin的答案。。。。干净简单但功能强大的代码字符串sn=null;我得到的错误是varialbe sn被定义为字符串[],并且我得到的错误是找不到符号方法大小
String sn;
for(int i = 0; i < root.length; i++) {
if (root[i][0].equals(hg)) { // check for matching value of 'hg' in first column
sn = root[i][1]; // corresponding 'sn' value from 2D array
break;
}
}
// to extract double value from string sn
double sn_value = -1;
if (sn != null) {
sn_value = Double.valueOf(sn);
}