Java Los dobles no son buenos en matemáticas [cerrado]

Actualmente estoy escribiendo un programa de calculadora en Java. Es mi primer programa Java, estoy acostumbrado a c ++.

He notado que los dobles en java no son como los dobles en c ++. intente esto en java y c ++
4.1 * 3
that / .1

debería se
12.3 luego 123, y c ++ da este resultado pero java da
12.299999999999999 y 122.99999999999999

¿Cómo puedo hacer matemática como en C ++ con dobles, entiendo que cualquier cosa que use 12.299999999999999 en un programa no haría ninguna diferencia en comparación con 12.3, pero cuando un usuario lee los números esto es muy feo. He examinado la clase BigDecimal pero no puedo hacer trigonometrías y logaritmos y otras cosas con esa clase

Respuestas a la pregunta(6)

Su respuesta a la pregunta