У меня есть следующий контент в файле, который мне нужно проанализировать.
((-2, -1 ), ( 4, 2) ) ((-1.2, 0), (0, 0))
((0, 0), (10, -1))
((5, 3), (5, 4)) ((5, 1) , (5, 5))
((8, 3), (10, 3))
((8, 5), (11.5, 5))
Пока что я отсканировал файл и построчно взял входные данные, сохранив их как строки, поэтому одна строка будет ((-2, -1), (4, 2)) ((-1,2, 0), (0, 0)).Мой вопрос, куда идти отсюда.Как мне извлечь парные числа из этой строки?Я пытался использовать скобки в качестве разделителя, а также меняя все скобки на запятые, а затем используя запятую в качестве разделителя, но оба эти способа дают мне ошибки.Любые идеи?
Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed group near index 1 at java.util.regex.Pattern.error(Unknown Source) at
java.util.regex.Pattern.accept(Unknown Source) at
java.util.regex.Pattern.group0(Unknown Source) at
java.util.regex.Pattern.sequence(Unknown Source) at
java.util.regex.Pattern.expr(Unknown Source) at
java.util.regex.Pattern.compile(Unknown Source) at
java.util.regex.Pattern.<init>(Unknown Source) at
java.util.regex.Pattern.compile(Unknown Source) at
java.lang.String.replaceAll(Unknown Source)
Вся цель этого состоит в том, чтобы создавать очки из этих двойников.Например, ((0, 0), (10, -1)) создаст две точки, (0,0) и (10, -1).Я создал класс точек, и он принимает два двойных в конструкторе.Вот что я попробовал:
String toParse = "((0, 0), (10, -1))";
toParse.replaceAll("(", ",");
toParse.replaceAll(")", ",");
Scanner stringScanner = new Scanner(toParse);
stringScanner.useDelimiter(",");
while(stringScanner.hasNextDouble()){
ect