когда программа по тз должна упасть с исключением не всегда это делается сразу
с нумберами плохой сложный подход, лучше просто парсить число
нумбер создается с любым string
super.number не надо писать, просто number
много раз вызываешь rn1.romanToInteger() - нарушение DRY
именование хромает. flag, boolFormat - непонятно
у переменных должна быть минимальная область видимости. int result = operation()
очевидные комментарии, непонятные комментарии
ты выкидываешь всегда NoSuchElementException, но он не всегда подходит. Часто нужен IllegalArgumentException. Или я нередко использую IllegalStateException
мешается System.err и SYstem.out
toRoman использует неочевидную логику и поэтому непонятно всегда ли правильно работает. как и romanToInteger
программа не начинает обрабатывать ввод при вводе энтера. принимает "5 - 6 Й"
не работает с римскими отрицательными результатами
методы обычно имеют форму глаголов - не operation, a void calculate или int getResult
в джаве { обычно пишут на той же строке
программа пропускает "числа" VV, IIIII