我有一个数字列表,在文件中格式化为106,648 | 403,481。我必须添加此列表中的所有第二个坐标并需要总和。我能够使用|分割此列表。但是当我试图将它们分开使用时,它不起作用。这是我到目前为止所做的。请有人帮帮我......
package org.jeet.App;
import java.io.*;
import java.util.*;
public class MidPointSum {
public static void main(String[] args) {
File file = new File("D:/midpoint.txt");
try {
Scanner sc = new Scanner(file);
while (sc.hasNext()) {
String value = sc.next();
int myint[] = new int[2];
String[] tokens = value.split("\\|");
for (int i = 0; i < tokens.length; i++) {
System.out.println(tokens[i]);
//System.out.println(charSplit[i]);
}
}
} catch (FileNotFoundException e) {
System.err.println("File is not Found");
} catch (Exception e) {
System.err.println("Another Exception");
}
}
}
请帮助我将数字拆分为
106 648
403 481
..
等等
答案 0 :(得分:2)
您必须再次使用{,1}再次使用split()
。要在ArrayList
中整齐地获取所有内容,您可以这样做:
ArrayList<String> tokens = new ArrayList<String>();
for(String token : value.split("\\|"))
{
for(String subToken : token.split(","))
{
tokens.add(subToken);
}
}
答案 1 :(得分:2)
我会分开 管道或逗号并取出每个奇数元素:
String[] tokens = value.split("[|,]");
for (int i = 1; i < tokens.length - 1; i += 2) {
System.out.println(tokens[i]);
}
答案 2 :(得分:1)
String[] tokens = value.split("\\|");
for (String token: tokens) {
String[] subTokens = value.split(",");
System.out.println(subTokens[0]); // This is your first
System.out.println(subTokens[1]); // This is your second
}