Пользователь вводит строку с числами. напишите программу которая выведет все числа, присутствующие в строке, а также выведет максимальное и минимальное число. числом является любая последовательность цифр. если между двумя числами находится знак операции – результатом будет результат вычисления операции. пример: если дана строка: 123_2*14ghfg003sad15/2dasdasd8.10 программа должна вывести: numbers: 123 28 3 7 8 10 max: 123 min: 3 на java.
158
262
Ответы на вопрос:
Import java.util.*; import java.util.regex.*; import java.lang.*; import java.io.*; class intinstr { public static void main (string[] args) { try { bufferedreader br = new bufferedreader(new inputstreamreader(system.in)); string string; string = br.readline(); string[] parts = string.split("[^\\d+\\-*/]+"); vector< integer> nums = new vector< integer> (); for(string part : parts) { matcher isnum = pattern.compile("^\\d+$").matcher(part); matcher isnumop = pattern.compile("^(\\d+)([+*/-])(\\d+)$").matcher(part); if (isnum. { int ipart = integer.parseint(part); nums.add(ipart); } if (isnumop. { int l = integer.parseint(isnumop.group( r = integer.parseint(isnumop.group( res; string operation = isnumop.group(2); switch(operation) { case "+": res = l + r; break; case "-": res = l - r; break; case "*": res = l * r; break; case "/": res = l / r; break; default: throw new arithmeticexception("token parse error"); } nums.add(res); } } int min = nums.get(0), max = nums.get(0); system.out.println("numbers: "); for (int n : nums) { system.out.println(n); if (n > max) { max = n; } if (n < min) { min = n; } } system.out.format("max: %d%nmin: %d%n", max, min); } catch(exception e) { system.out.println(e.; } } }
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
00lom0029.12.2022 09:32
-
ANT1XA1P04.07.2021 02:27
-
vladisnal228.09.2020 16:23
-
dashoostik27.10.2021 10:05
-
VikaKhudyakova06.02.2020 22:09
-
дэнчик6029.11.2022 11:59
-
djhvh23505.08.2021 02:52
-
1337zezar118.07.2021 16:17
-
GNRK18.01.2020 10:43
-
daulrtutegenov113.09.2021 16:33
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.