Me ensinem a usar o IF e o ElSE ? to errando num IF x_x .[Resolvido]

15 respostas
A

To fazendo uns calculos de salario e tals onde os IF's e os ELSE's entram em ação. Eu ainda to aprendendo no java ^^ e to apanhando com isso x_x olhem aee

/* ++++[Cálculo]+++
     *
     *Salário bruto	_ hTrabalhadas * sHora + (50 * nDependentes)

Desconto INSS  _	sBruto <= 1000 = sBruto * 8.5/100
			        sBruto > 1000 = sBruto * 9/100

Desconto IR    _	sBruto <= 500 = Isento
					sBruto > 500 e <= 1000 = sBruto * 5/100
					sBruto > 1000 = sBruto * 7/100


Salário líquido  _	sBruto ? inss ? ir  */


	isento = 0;
	sHora = (sBruto / 30) / hDia;
	sBruto = (hDia * sHora) * (50 * nDep);
	
	if (sBruto <=1000) {	
	    inss = (sBruto * 8.5)/100;
	}	else {	
		inss = (sBruto * 9)/100;
	}
	if (sBruto <= 500 ){
				ir = isento; }
			
	if (sBruto > 500 < 1000) {
			ir = (sBruto * 5)/100;
	} else { 
		 ir = (sBruto * 7)/100;
		 
	}
		 
	
		
sLiquido = sBruto - inss - ir;

tem um erro ali no If que q pode ser.

Eu tenho aki o programa pronto como fiz, se precisar posto o program inteiro .

vlw pessoal =D

15 Respostas

H
if (sBruto > 500 < 1000)

Explica para nós o que você quer fazer com esse IF.

A

Bom eu qro calcular as parada de salario e tals .. eu nao sei explicar bem assim .. vo postar o prog inteiro. Isso faz parte de um trrabalho que tenho q entregar . olha ae

import javax.swing.JOptionPane;
 
public class Etresum {
    
    public static void main(String[] args) {
    
    
    /* 1)	Crie um programa para cálculo do salário líquido em que três valores devem ser informados pelo usuário
     * na linha de comando: a quantidade de horas trabalhadas, o salário hora e o número de dependentes. O programa deve 
     *mostrar na tela as informações contidas no lado esquerdo da tabela seguinte. Os cálculos correspondentes aparecem
     * no lado direito. */
	
	double sLiquido, sBruto, inss, ir, sHora, hDia, nDep, isento, n1, n2, n3;
	String ms1, ms2, ms3; 
		    
    
    ms1 = JOptionPane.showInputDialog(" Remuneração Liquida ");
    ms2 = JOptionPane.showInputDialog(" Jornada de trabalho/dia ");
    ms3 = JOptionPane.showInputDialog(" Numero de Dependentes ");
    
   
    n1 = Double.parseDouble(ms1);
    n2 = Double.parseDouble(ms2);
    n3 = Double.parseDouble(ms3);
   
    
    /* ++++[Cálculo]+++
     *
     *Salário bruto	_ hTrabalhadas * sHora + (50 * nDependentes)

Desconto INSS  _	sBruto <= 1000 = sBruto * 8.5/100
			        sBruto > 1000 = sBruto * 9/100

Desconto IR    _	sBruto <= 500 = Isento
					sBruto > 500 e <= 1000 = sBruto * 5/100
					sBruto > 1000 = sBruto * 7/100


Salário líquido  _	sBruto ? inss ? ir  */


	isento = 0;
	sHora = (sBruto / 30) / hDia;
	sBruto = (hDia * sHora) * (50 * nDep);
	
	if (sBruto <=1000) {	
	    inss = (sBruto * 8.5)/100;
	}	else {	
		inss = (sBruto * 9)/100;
	}
	if (sBruto <= 500 ){
				ir = isento; }
			
	if (sBruto > 500 < 1000) {
			ir = (sBruto * 5)/100;
	} else { 
		 ir = (sBruto * 7)/100;
		 
	}
		 
	
		
sLiquido = sBruto - inss - ir;


JOptionPane.showMessageDialog(null, "Salario Liquido =  " + sLiquido, " Calculos ", JOptionPane.PLAIN_MESSAGE);
System.exit(0);
    
       

   
    }
}
marcosharbs

mude este if:

if (sBruto > 500 < 1000) {  
            ir = (sBruto * 5)/100;  
}

por:

if (sBruto > 500 && sBruto < 1000) {  
           ir = (sBruto * 5)/100;  
}
A

ata , vo fazer aki, pera ae q ja respondo ^^

H

Como eu te falei…

if (sBruto > 500 < 1000)

Esse IF que você fez está errado.

Explique qual é a condição para podermos ajudá-lo.

Nykolas_Lima

Quando você quer fazer duas condições para a mesma variavel voce nao pode por tudo direto que nem voce poes:

if(sBruto > 500 < 1000)

Voce tem que usar a condição “E”.

if(sBruto > 500 && sBruto <1000)

Igual ao que o amigo ai falou.

Isso quer dizer, seu sBruto tem q ser maior que 500 E menor que 1000.

Existe também a condição “OU”.
Ela é assim:

if(sBruto > 500 || sBruto > 1500)

Quer dizer, se o sBruto for maior que 500 OU for maior que 1500.

Abraços

A

Essa é a condição ^^

Salário bruto - hTrabalhadas * sHora + (50 * nDependentes)

Desconto INSS - sBruto <= 1000 = sBruto * 8.5/100
sBruto > 1000 = sBruto * 9/100

Desconto IR - sBruto <= 500 = Isento
sBruto > 500 e <= 1000 = sBruto * 5/100
sBruto > 1000 = sBruto * 7/100

Salário líquido - sBruto ? inss ? ir

marcosharbs

e faltou vc inicializar as variaveis do tipo double ali em cima

vc declarou assim:

double sLiquido, sBruto, inss, ir, sHora, hDia, nDep, isento, n1, n2, n3;

double é um tipo primitivo e não aceita null e vc terá que inicalizar elas.
declare assim:

double sLiquido = 0, sBruto = 0, inss = 0, ir = 0, sHora = 0, hDia = 0, nDep = 0, isento = 0, n1 = 0, n2 = 0, n3 = 0;
A

meeehhh…

To errando feO entao hASiuhAISUSA

pois eu vi que deu outos erros agora ^^
Vo corrgi-los Marcos. de ver quais os novos erros aparecem ^^

ta peliado aki =P

A

Olha. Ela rodar até roda . mas na hora de informar o resultado da assim : NaN

Oo’ que vem a ser isso ^^?

A

Agora o Programa está assim e Rodando . Fiz conforme os companheiros me falaram . So o resultado q ta sinistro ^^

olha e

import javax.swing.JOptionPane;
 
public class Etresum {
    
    public static void main(String[] args) {
    
    
    /* 1)	Crie um programa para cálculo do salário líquido em que três valores devem ser informados pelo usuário
     * na linha de comando: a quantidade de horas trabalhadas, o salário hora e o número de dependentes. O programa deve 
     *mostrar na tela as informações contidas no lado esquerdo da tabela seguinte. Os cálculos correspondentes aparecem
     * no lado direito. */
	
	double sLiquido = 0, sBruto = 0, inss = 0, ir = 0, sHora = 0, hDia = 0, nDep = 0, isento = 0, n1 = 0, n2 = 0, n3 = 0;
	String ms1, ms2, ms3; 
		    
    
    ms1 = JOptionPane.showInputDialog(" Remuneração Liquida ");
    ms2 = JOptionPane.showInputDialog(" Jornada de trabalho/dia ");
    ms3 = JOptionPane.showInputDialog(" Numero de Dependentes ");
    
   
    n1 = Double.parseDouble(ms1);
    n2 = Double.parseDouble(ms2);
    n3 = Double.parseDouble(ms3);
   
    
    /* ++++[Cálculo]+++
     *
     *Salário bruto	_ hTrabalhadas * sHora + (50 * nDependentes)

Desconto INSS  _	sBruto <= 1000 = sBruto * 8.5/100
			        sBruto > 1000 = sBruto * 9/100

Desconto IR    _	sBruto <= 500 = Isento
					sBruto > 500 e <= 1000 = sBruto * 5/100
					sBruto > 1000 = sBruto * 7/100


Salário líquido  _	sBruto ? inss ? ir  */


	isento = 0;
	
	sHora = (sBruto / 30) / hDia;
	sBruto = (hDia * sHora) * (50 * nDep);
	
	if (sBruto <=1000) {	
	    inss = (sBruto * 8.5)/100;
	}	else {	
		inss = (sBruto * 9)/100;
	}
	if (sBruto <= 500 ){
				ir = isento; }
			
	if (sBruto > 500 && sBruto < 1000) {
			ir = (sBruto * 5)/100;
	} else { 
		 ir = (sBruto * 7)/100;
		 
	}
		 
	

	
	
	
		
sLiquido = sBruto - inss - ir;


JOptionPane.showMessageDialog(null, "Salario Liquido =  " + sLiquido, " Calculos ", JOptionPane.PLAIN_MESSAGE);
System.exit(0);
    
       

   
    }
}
Leonardo_Gloria

NaN é Not a Number… Eu n olhei o código pq essa porra d navegador n tah mostrando direito… + tu deve tah fazendo alguma divisão de double por zero…

A

Pois éh u to tirando os 0 da declarações double la … mas msm assim continua NAN

A

num teve Jeito T_T

A

Bom Galera o erro era eu mesmo, Foi um erro de interpretação da minha parte. Fikei em cima prestei mais atenção e consegui fazer
É garantido; esse Roda ^^

import javax.swing.JOptionPane;
 
public class kkkk {
    
    public static void main(String[] args) {
    
    
    /* 1)	Crie um programa para cálculo do salário líquido em que três valores devem ser informados pelo usuário
     * na linha de comando: a quantidade de horas trabalhadas, o salário hora e o número de dependentes. O programa deve 
     *mostrar na tela as informações contidas no lado esquerdo da tabela seguinte. Os cálculos correspondentes aparecem
     * no lado direito. */
	
	double hTrab,sHora,nDep,sBruto,dInss,dIr,sLiq,sAux ;
	String ms1, ms2, ms3; 
		    
    
    ms1 = JOptionPane.showInputDialog(" Horas trabalhadas ");
    ms2 = JOptionPane.showInputDialog(" Salário Hora ");
    ms3 = JOptionPane.showInputDialog(" Numero dependentes");
    
   
    hTrab = Double.parseDouble(ms1);
    sHora = Double.parseDouble(ms2);
    nDep = Double.parseDouble(ms3);
   
    
    /* ++++[Cálculo]+++
     *
     *Salário bruto	_ hTrabalhadas * sHora + (50 * nDependentes)

Desconto INSS  _	sBruto <= 1000 = sBruto * 8.5/100
			        sBruto > 1000 = sBruto * 9/100

Desconto IR    _	sBruto <= 500 = Isento
					sBruto > 500 e <= 1000 = sBruto * 5/100
					sBruto > 1000 = sBruto * 7/100


Salário líquido  _	sBruto ? inss ? ir  

salario/mes = valor dia
dia/hora = valor hr

*/

	sBruto = hTrab * sHora + (50 * nDep);
	sAux = sBruto;
		
	if (sBruto <=1000) {	
	    dInss = (sBruto * 8.5)/100;
	}	else {	
		dInss = (sBruto * 9)/100;
	}
	if (sBruto <= 500 ){
				dIr = 0 ; }
			
	if (sBruto > 500 && sBruto <= 1000) {
			dIr = (sBruto * 5)/100;
	} else { 
		 dIr = (sBruto * 7)/100;
		 
	}
		 
	

	
	
	
		
sLiq = sBruto - dInss - dIr;


JOptionPane.showMessageDialog(null, "Salario Bruto: " + sAux , " Calculos ", JOptionPane.PLAIN_MESSAGE);
JOptionPane.showMessageDialog(null, "Desconto INSS: " + dInss , " Calculos ", JOptionPane.PLAIN_MESSAGE);
JOptionPane.showMessageDialog(null, "Desconto IR:   " + dIr , " Calculos ", JOptionPane.PLAIN_MESSAGE);
JOptionPane.showMessageDialog(null, "Salario Liquido:  " + sLiq, " Calculos ", JOptionPane.PLAIN_MESSAGE);

System.exit(0);
    
       

   
    }
}
Criado 6 de outubro de 2009
Ultima resposta 6 de out. de 2009
Respostas 15
Participantes 5