Java делает именно то, что он должен здесь. В atoi
, когда вам возвращается 0, откуда вы знаете, содержит ли ваша строка 0, или если у нее была строка, которая не была проанализирована? Java обрабатывает это, сообщая вам, что вы попытались разобрать строку, которая не содержит значение параметра ... в идеале, чтобы вы могли вернуться и исправить код, который проходит в неповторимом значении.
В вашем случае, если вы хотите обрабатывать ситуацию точно так же, как это делает C, вы можете просто вернуть 0, если вы поймаете исключение NumberFormatException. (Возможно, было бы лучше, если бы вы могли вернуться и убедиться, что вы не проходите в плохих строках, но это не всегда возможно.)
И что вы ожидаете получить? – Andremoniy
Что именно вы хотите сделать? –
вы пытаетесь преобразовать 'String' (а не число, представляемое как String, пусть« 1 », но буква) в' int'. Это ваша ошибка, но, как уже спрашивали: чего вы ожидаете? – ThanksForAllTheFish