У меня возникла проблема добавления двух объектов (BigDecimals), которые должны быть взяты у пользователя, то есть пользователь вводит два больших деления, в выходной программе должен отображаться точный результат со всеми десятичными знаками.Добавление BigDecimals с пользовательским вводом
Образец I/O Вход: 3,14 3,143111 Выход: 6,283111
Я пытаюсь использовать объекты, называемые BigDecimals, но я не могу использовать типичную функцию сканера, так как объект BigDecimal должен быть «инициирован» некоторым значением, и я хотел бы оставить его пустым, чтобы пользователь мог ввести точную точку с плавающей запятой. Я бы хотел использовать BigDecimal вместо типа float, поскольку он более точен. Вот только пример, как добавить два типа BigDecimals, но я не могу понять, как вводить значение вышеупомянутых объектов.
import java.math.*;
import java.util.Scanner;
public class home {
public static void main(String[] args) {
BigDecimal bg1,bg2,bg3;
Scanner scan = new Scanner(System.in);
bg1 = new BigDecimal(3.14);
bg2 = new BigDecimal(3.143111);
MathContext mc = new MathContext(7);
bg3=bg1.add(bg2,mc);
System.out.println("Result is " + bg3);
}
}
Как я могу возможно определить значение MathContext на пользователя? Должен ли я просто добавить некоторую переменную int в скобках() при создании нового объекта MathContext, который будет определен пользователем?
Почему вам нужен MathContext? Вы можете добавить два BigDecimals без него. – Thilo
Вы пробовали использовать 'scan.nextBigDecimal();' для ввода пользователем? –