В настоящее время я довольно новичок в программировании, и мне нужно научиться вводить две разные дроби, используя command line arguments (не используя scanner), например:

java Fractions 12/17 3/18

Проблема, с которой я сталкиваюсь, это знак деления '/' в моем аргументе. Я не могу отделить их от моих целых чисел.

Как и в случае с GhostCat, мне нужно получить string из arrays и выполнить правильный анализ string array для определения чисел и управления символами с помощью аргументов командной строки. Я не могу использовать сканер в качестве входных данных.

-2
Oxform 15 Апр 2019 в 12:16

2 ответа

Лучший ответ

Вы не можете вводить дроби напрямую, используя /. Если ваш ввод должен использовать этот формат 2/3, вам нужно загрузить его как строку, а затем использовать метод split (), который вернет вам две строки, которые вы можете проанализировать в float.

String fraction = args[0]; // args[0]="12/17"
String[] splittedFraction = fraction.split("/");
float numerator = Float.parseFloat(splittedFraction[0]);
float denominator = Float.parseFloat(splittedFraction[1]);

Вы можете использовать int вместо float, это зависит от ваших требований.

Таким же образом вы будете обрабатывать аргументы второй дроби [1]

РЕДАКТИРОВАТЬ: я не понял, что вы берете свои входные данные в качестве аргументов из командной строки. Спасибо @GhostCat за указание на это.

1
Michal Horvath 15 Апр 2019 в 10:10

Командная строка не понимает / означает, что вы хотите дробь, на себя. Считайте 2/3 строкой и проанализируйте ее в своей программе.

0
mazunki 15 Апр 2019 в 09:21