2016-01-03 2 views
-7

я задавался вопросом, если кто-то может помочь мне с небольшой проблемой в Java: У меня есть файл с некоторыми уравнениями, как:Отдельный Int из строки на входе файла

Z=1X1+3X2 
-1X1+5X2<=2 
1X1-1X2<=56 

и так далее ..

, и я хотел прочитать этот файл и отделить значения 1 и 3 (от Z = 1X1 + 3X2) в одной строке и -1,5,2,1, -1,56 в другой.

+2

Какой у вас код и какие конкретные проблемы у вас с ним? – KSFT

+0

Узнайте, как использовать регулярные выражения, они могут это сделать. –

+1

Я голосую, чтобы закрыть этот вопрос как не относящийся к теме, потому что [вопросы, требующие помощи в домашней работе, должны содержать резюме проделанной до сих пор работы для решения проблемы и описание трудностей ее решения] (http: // stackoverflow .com/помощь/по теме). – Andreas

ответ

2

В зависимости от ваших потребностей это выглядит как нечто, что можно решить, используя регулярное выражение или разделение строк по шаблону номера регулярных выражений, затем отфильтровывая то, что вам нужно.

Пример делает первую строку для сравнения 1 и 3

String s = "Z=1X1+3X2"; 
    Pattern p = Pattern.compile("([13])"); 
    Matcher m = p.matcher(s); 
    while (m.find()) { 
     System.out.println(m.group()); 
    } 

или с помощью раскола

String[] split = s.split("\\D"); 
// for every item in array, if 1 or 3 do something with it.. 
+0

Я попытался использовать эту опцию (раскол), но я пуст пробелы в некоторых позициях массива, и мне понадобится этот массив для преобразования значений в int и их использования. –

+0

Мой пример был просто обзором того, как получить данные, вам все равно нужно разбирать и обрабатывать в соответствии с нужным вам форматом. Java имеет различные методы утилиты для этого 'Integer.parseInt', просто игнорирует пустые контейнеры. –

+0

Omg я полностью забыл о 'Integer.parseInt' xD. Спасибо за помощь: D –

0

можно разделить строку, используя регулярное выражение для разделения цифр.

String[] split = s.split("\\D"); 
Смежные вопросы