Здравствуйте!
Рекомендую серьезно изучить основы программирования и в частности программирование на Java. Разберитесь с такими понятиями, как динамическая и статическая типизация.
Java является языком со статической типизацией. Это означает, что тип переменной объявляется в момент ее объявления. Также рекомендую прочитать про такие понятия. как явное и неявное приведение типов.
Исходя из вышесказанного непонятно следующее:
а если в porci2 попадается число с десятыми или сотыми, то приложение вылетает...
Откуда прилетает число с десятыми и сотыми в переменную porci2 или input1 ?
Подозреваю, что значения porci2 и input1 являются неким int или long значением, а извне вы присваиваете этим переменным вещественный тип чисел. Если так, то для этип переменных используйте тип double и это должно решить проблему.