我正在迭代表,我想将第1列和第2列解析为2个独立的数组。我不知道该怎么做。这是我到目前为止编写的代码:
while (line !="table_end"){
for (line = bufferedReader.readLine(); line != null; line = bufferedReader.readLine()){
String[] rowData = line.split("\t");
for (int i = 0; i < rowData.length; i++) {
String id = rowData[0];// ids
System.out.println(id);
String nid = rowData[1];// names
System.out.println(nid);
//create arrays out of this
循环从表中提取第一个(rowData [0])和第二行数据(rowData [1]),我想将所有rowData [0]条目存储在一个数组中,并将rowData [1]条目存储在另一个阵列。
除此之外,我在循环结束时收到错误,因为它包含“table_end”行。
表格如下:
data0 data1 number number number etc
data0 data1 number number number etc
data0 data1 number number number etc
this goes on for about 1000 rows
table_end
我是Java的初学者,我需要建议如何将每个rowData [0]和[1]存储在单独的数组中,以及如何不读取最后一行“table_end”。
答案 0 :(得分:1)
在这种情况下,可以使用条件来管理
while (line !="table_end"){
for (line = bufferedReader.readLine(); line != null;
line = bufferedReader.readLine()) {
if ( !line.equals("table_end"){
//Do other things here
}
}
}
我认为你不需要&#34; table_end&#34;包括它有助于 并且用于将rowData [0]存储在1个数组中并将rowData [0]存储在另一个数组中,您也有2个选项 如果长度是特定的,则在for内部有2个循环,然后将这些元素添加到其他2个数组中,或者如果长度不是特定的,则将它们添加到ArrayList,稍后将ArrayList转换为String数组
ArrayList<String> firstArray = new ArrayList<String>();
ArrayList<Strign> secondArray = new ArrayList<String>();
并且在循环内你会有
firstArray.add(rowdata[0);
secondArray.add(rowdata[1);
答案 1 :(得分:0)
由于您可能不知道会产生多少bufferedReader
,您应该将id
和nid
ArrayList<String>
放入ids
个对象(例如nids
和{{1}})并最终将它们转换为数组。