Изменение типа переменной Java

258
03 марта 2019, 05:50

Я хочу при запуске программы через cmd сразу передать ей нужные аргументы для дальнейшей работы с ними. То есть, пишу что-то типа C:>java Main arg1 arg2

Мне нужно передать этой программе в качестве аргументов несколько целых чисел, но они принимаются как объекты типа String. Как передать аргументы, чтобы они были восприняты как числа? Можно ли в Java преобразовать строку "5" в число 5 ? В интернете нашел способ

a = Integer.parseInt(args[0]);

Но он работает только если взять args в нужном срезе. Если, например, попробовать что-то типа

a = Integer.parseInt("5");

То выходит ошибка. Мне нужно понять это поведение и объяснить, как передать в программу при ее запуске через cmd целые числа

Также, хотелось бы узнать, наоборот - как можно преобразовать (целое) число(5) в строку("5") (Если можно)

Answer 1

При желании массив args можно взять в нужном срезе и соответствующее присвоить переменной числового типа:

int a = Integer.parseInt(args[0]);

Таким же способом строку можно превратить в число:

int a = Integer.parseInt("5");

И наоборот - число в строку:

String b = String.valueOf(5);
// Спасибо пользователю @Sergey_Gornostaev
Answer 2

Метод main() принимает в качестве аргументов массив строк. Даже если бы Java позволяла изменение типов, то вышеуказанный метод все так же будет работать со строковыми аргументами.

READ ALSO
Как вставить/удалить элемент в середине односвязного списка?

Как вставить/удалить элемент в середине односвязного списка?

Взял пример с данного ресурса, но не смог найти как вставить/удалить из серединыКак это сделать? (нужно именно руками а не linklist)

224
не получается вернуть метод

не получается вернуть метод

Не получается вернуть методВ чем ошибка?

179
Вертикальное выравнивание TextInputEditText в TextInputLayout Material Design

Вертикальное выравнивание TextInputEditText в TextInputLayout Material Design

В material design описано все красиво и работает по картинкам все красиво, только на практике немного иначе работаетTextInputEditText находится внизу, а не по центру...

207
Java ошибка в алгоритме с коллекцией Set

Java ошибка в алгоритме с коллекцией Set

Решал задачу на codeforcesРешил двумя способами, один работает, второй нет

157