Não consigo arredondar o salário usando o Math.round
Por que?
import java.util.Scanner;
import java.lang.Math;
class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Digite seu salário atual: ");
Double Salario = input.nextDouble();
Double NovoSalario = Salario * 1.15 ;
NovoSalario = Math.round (NovoSalario);
System.out.println("Seu novo salário será"+ NovoSalario);
}
}
[ERRO]: incompatible types: long cannot be converted to Double
o NovoSalario já foi criado como double, por que quando tento truncar ele diz isso?
Você não declarou o NovoSalario como double, você declarou como Double.
-
double, com letra minúscula, é um tipo primitivo de de 64 bits
- Já o
Double, com letra maiúscula, é uma classe que encapsula um valor do tipo double e fornece alguns métodos para conversões.
Você não está tentando truncar, você está tentando arredondar.
Truncar significa descartar toda a parte decimal, por exemplo 1.8 truncado fica 1 e arredondado fica 2.
O método Math.round retorna um valor do tipo long e você não pode atribuir um long para uma variável que foi declarada como Double.
Se mudar suas variáveis de Double para double, vai funcionar.
Dica: Procure seguir as convenções de código, nomes de variáveis deveriam ser em letra minúscula seguindo o formato camelCase.
2 curtidas