Intaum, o problema está primeiramente na linha 55 conforme diz a msg de erro...!
class Funcionario {
// alguns codes...
double calculaSalLiquido()
{
if (salario <= 1024.97)
{
salarioLiquido = salario - (salario * 0.08);
} else if (salario >= 1024.98 && salario <= 1708.27) {
salarioLiquido = salario - (salario * 0.09);
} else {
salarioLiquido = salario - (salario * 0.11);
}
return salarioLiquido;
}
// + codes...
void mostraAtrib()
{
// alguns System.out.println's que estão funcionando
// i essi metodo abaixo que não funciona, o erro gerado está no fim da msg...
System.out.printf ("%s %2.f", "Salario liquido: R$ ", calculaSalLiquido()); // esta é a linha 55 conforme a msg de erro!
}
}
intaum ai o erro gerado é esse abaixo
Exception in thread "main" java.util.UnknownFormatConverseException: Conversion =
' 2 '
at java.util.Formatter.checkText(Unknown Source)
at java.util.Formatter.parse(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.io.PrintStream.format(Unknown Source)
at java.io.PrintStream.printf(Unknown Source)
at Funcionario.mostraAtrib(Funcionario.java:55)
at Empresa.mostraEmpregados(Funcionario.java:89)
at TestEmpresa.main(TestEmpresa.java:23)
void mostraEmpregados()
{
for (int i = 0 ; i < this.empregados.length ; i++)
{
this.empregados[i].mostraAtrib(); // linha 89 conforme a msg de erro!
}
}