Estou tentando resolver o exercício do URI 1048 orientado a objetos , mas não estou conseguindo retornar os valos apenas com duas casas decimais depois da virgula , Qual seria um uma boa opção para tentar resolver esse problema ?
import java.io.IOException;
import java.util.Scanner;
class IntefaceTexto7{
private Scanner entrada;
private Logica salario;
public IntefaceTexto7(){
entrada = new Scanner(System.in);
salario =new Logica();
}
public void renderizar(){
salario.setA(entrada.nextDouble());
sf("%.2f", String.valueOf(salario.getSalario()));
}
public void sf(String dado , String cal){
System.out.printf(dado , cal);
}
public void s(String s ){
System.out.print(s);
}
}
class Logica{
private double A = 0.0 , novoSalario , reajuste;
public void setA(double A){
this.A = A ;
}
public String getSalario(){
if (A <= 400.00){
novoSalario = (A*1.15);
reajuste = (A*0.15);
return "Novo salario: " + novoSalario +"\n"+
"Reajuste ganho: "+reajuste + "\n"+
"Em percentual: 15 %\n" ;
}
if ((A >= 400.01) && (A <= 800.00)){
novoSalario = (A * 1.12);
reajuste = (A * 0.12);
return "Novo salario: " +novoSalario +"\n"+
"Reajuste ganho: "+reajuste + "\n"+
"Em percentual: 12 %\n" ;
}
if ((A >= 800.01) && (A <= 1200.00)){
novoSalario = (A* 1.1);
reajuste = (A* 1.1);
return "Novo salario: " + novoSalario + "\n"+
"Reajuste ganho: "+reajuste + "\n"+
"Em percentual: 10 %\n" ;
}
if ((A >= 1200.01) && (A <= 2000.00)){
novoSalario = (A*1.07);
reajuste = (A*0.07);
return "Novo salario: " +novoSalario +"\n"+
"Reajuste ganho: "+reajuste + "\n"+
"Em percentual: 7 %\n" ;
}
if (A >= 2000.00){
novoSalario = (A*1.04) ;
reajuste = (A*0.04);
return "Novo salario: " +novoSalario +"\n"+
"Reajuste ganho: "+reajuste + "\n"+
"Em percentual: 4 %\n" ;
}
return "";
}
}
public class AumentoDeSalario
{
public static void main (String[] args) throws IOException{
IntefaceTexto7 salario = new IntefaceTexto7();
salario.renderizar();
}
}