Calculo de salario liquido

não sei com fazer uma classe para calculo do salário líquido em que dois valores devem ser informados pelo usuário: a quantidade de horas trabalhadas e o valor da hora. A classe deve mostrar o salário liquido com os descontos de acordo com a tabela abaixa:
Sal. Bruto = Qtde de horas trab. * Valor da hora
Desc. Inss = Se Sal. Bruto <= 1000 Inss=8%
Se Sal. Bruto > 1000 Inss=9%

Desc Ir = Se Sal. Bruto <= 500 Ir=0%
Se Sal.Bruto > 500 e <= 1000 Ir=6%
Se Sal. Bruto > 1000 Ir=7%

Sal. Liq. = Sal. Bruto ? Inss - Ir

se auguem poder me ajudar eu agradeço

Qual a sua duvida? Sabe fazer um if?

if( salario > x) { // calculo } else...

escreva alguns exemplos de salario brutos e seus respectivos liquidos e va incrementando o seu algoritmo.

Oi!

Sabe calcular porcentagem de um valor?
Caso não saiba, só para entender. É o número da porcentagem dividido por 100.

Exemplo: 10% de R$100.

  • 10% = 10/100 (10 porcento)
  • 10/100 * 100 = 0.1 * 100 = 10.

Agora é aplicar isso no Java :slight_smile:
Simples, não acha ?

Abraços.

Ou é calcular o percentual?

O nome porcento vem de “por cento”. E cento, como vc sabe, é relacionado a centena (100).

Portanto 8% = 8/100.

Para calcular o percentual de desconto, se o valor estiver em percentual:

salario = salario * desconto / 100.0f;

Note que não faz diferença do ponto de vista matemático em dividir por 100 antes ou depois de multiplicar o salário, embora do ponto de vista computacional faça (é preferível multiplicar primeiro).

Dica:public static Double calculaLiquido(Integer qtdHorasTrab, Double valorHora) { Double salarioBruto = qtdHorasTrab * valorHora; Double descInss = (salarioBruto <= 1000) ? 8.0 : 9.0; Double descIr = (salarioBruto <= 500) ? 0 : ((salarioBruto <= 1000) ? 6.0 : 7.0); return (salarioBruto - (descInss + descIr)); }[code]public static void main(String[] args) {
Integer qtdHorasTrab = Integer.valueOf(JOptionPane.showInputDialog(“Informe a quantidade de horas trabalhadas:”));
Double valorHora = Double.valueOf(JOptionPane.showInputDialog(“Informe o valor da hora de trabalho:”));

System.out.println(calculaLiquido(qtdHorasTrab, valorHora));

}[/code]

Eu estava dando uma vasculhada bem rápida e não encontrei na classe Math ou BigDecimal um método que faça isso.
Bem que poderia ter hein? Passar o valor, uma porcentagem e o resultado seria a porcentagem daquele valor.

Algo como passar (100, 10) e retornar o valor 10, ou seja, 10% de 100.
Tem o método e não encontrei? :slight_smile:

Abraços.

isaias, a linha do return não deveria ser:

return salariobruto - (salarioBruto * (descInss + descIr) / 100);  

?

[quote=ViniGodoy]isaias, a linha do return não deveria ser:

return salariobruto - (salarioBruto * (descInss + descIr) / 100);  

?[/quote]
Vini,
Na verdade eu nem fui a fundo na fórmula, quis ajudar mais é com um modelo de método de cálculo. Em cima disso ele ajusta de acordo com a necessidade.