Re:Armazenamento de Variaveis

Dae Bill II não olhei muito mas pelo que parece o problema é no teu for tu ta fazendo ele menor do que o ano que você digitou, portanto não entrando no if onde você compara com o i = ano digitado.

Teste colocar o for assim:


for(int i = 2005; i <= ano; i++){  

O que exatamente você quer que o aplicativo faça ?
a variável salarioAtual estará zerada ao final do programa se o ano digitado for menor que 2005, pois não entrará em nenhum if, logo continuará com seu valor original.

Dae Bill II testei a tual classe cara, realment era o for o teu problema coo eu havia falado antes.

Segue código funcionado.


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.prego.testareflection;

import javax.swing.JOptionPane;

/**
 *
 * @author paulo
 */
public class Teste {
     public static void main(String[] args) {
             
        double salarioInicial = 0.0;  
        double salarioAumento1 = 0.0;  
        double salarioAumento2 = 0.0;  
        double salarioAtual = 0.0;  
         
        
        String controleRetornoN = JOptionPane.showInputDialog("Entre com o ano atual:\n - Sabendo que o salario inicial do funcionario em 2005 foi de R$1000.00\n\n");  
        Integer ano = Integer.parseInt(controleRetornoN); 
                   
        for(int i = 2005; i <= ano; i++){                         
            if(i == ano-3){  
                salarioInicial = 1000.0;  
            }  
                       
            if(i == ano-2){  
                salarioAumento1 = salarioInicial + 1.5;  
            }  
                         
            if(i == ano-1){  
                salarioAumento2 = salarioAumento1 + 1.5;  
            }  
                          
            if(i == ano){  
                salarioAtual = 1000.0 + (1.5*2.0);  
            }  
                                                  
        }     
                     
        JOptionPane.showMessageDialog(null,"Salario atual do funcionario em "+ano+" : "+salarioAtual);  
                                         
    }
}


Flw!

Chegou a testar o fonte que te passei Bill?

Tem alguma coisa errada ainda?

Flw.

Ola pessoal

sou meio novo eim java… fiquei muito tempo sem progrmar na linguagem e toh voltando com uma duvida… se gue o cod…

[code]
int ano;
double salarioInicial = 0.0;
double salarioAumento1 = 0.0;
double salarioAumento2 = 0.0;
double salarioAtual = 0.0;

			controleRetornoN = ano = Integer.parseInt(JOptionPane.showInputDialog("Entre com o ano atual:\n"+
															   " - Sabendo que o salario inicial do funcionario em 2005 foi de R$1000.00\n\n"));
			
			for(int i = 2005; i < ano; i++){
				
				if(i == ano-3){
					salarioInicial = 1000.0;
				}
				
				if(i == ano-2){
					salarioAumento1 = salarioInicial + 1.5;
				}
				
				if(i == ano-1){
					salarioAumento2 = salarioAumento1 + 1.5;
				}
				 
				if(i == ano){
					salarioAtual = 1000.0 + (1.5*2.0);
				}
				
				
			}	
			
				
			
			
			JOptionPane.showMessageDialog(null,"Salario atual do funcionario em "+ano+" : "+salarioAtual);
			[/code]

Porque as variaveis ñ estão sendo acumuladas ? ao meu ver a lógica está correta… mas no fim a variavel salarioAtual está serada…

agadeço desde jah pela ajuda…

abraço…

[quote=mid_]O que exatamente você quer que o aplicativo faça ?
a variável salarioAtual estará zerada ao final do programa se o ano digitado for menor que 2005, pois não entrará em nenhum if, logo continuará com seu valor original.[/quote]

as variaveis anteriores dos ifs() de 2005 , 2006, 2007 servem de base de calculo para o if() 2008 mais as variaveis ñ estão acumulando os valores que deveriam…

sera um erro de logica… ?

desde de jah fico grato…

Abraço…

[quote=Paulo Faulstich]
Dae Bill II testei a tual classe cara, realment era o for o teu problema coo eu havia falado antes.

Segue código funcionado.

[code]

/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

package br.com.prego.testareflection;

import javax.swing.JOptionPane;

/**
*

  • @author paulo
    */
    public class Teste {
    public static void main(String[] args) {

     double salarioInicial = 0.0;  
     double salarioAumento1 = 0.0;  
     double salarioAumento2 = 0.0;  
     double salarioAtual = 0.0;  
      
     
     String controleRetornoN = JOptionPane.showInputDialog(&quot;Entre com o ano atual:\n - Sabendo que o salario inicial do funcionario em 2005 foi de R$1000.00\n\n&quot;);  
     Integer ano = Integer.parseInt(controleRetornoN); 
                
     for(int i = 2005; i &lt;= ano; i++){                         
         if(i == ano-3){  
             salarioInicial = 1000.0;  // SALARIO INICIAL = 1000.0
         }  
                    
         if(i == ano-2){  
             salarioAumento1 = salarioInicial + 1.5;  // SALARIO AUMENTO 1 = 1001.5
         }  
                      
         if(i == ano-1){  
             salarioAumento2 = salarioAumento1 + 1.5;  // SALARIO AUMENTO 2 = 1003.0
         }  
                       
         if(i == ano){  
             salarioAtual = 1000.0 + (1.5*2.0);  // SALARIO ATUAL = 1006.0       E     NÃO  1003.0    COMO EH MOSTRADO   NA SAIDA DO  JOPTIONPANE
         }  
                                               
     }     
                  
     JOptionPane.showMessageDialog(null,&quot;Salario atual do funcionario em &quot;+ano+&quot; : &quot;+salarioAtual);  // 
    

    }
    }

Flw!

[/code][/quote]

Dando a empressão que as variaveis dos ifs() anteriores n~estão acumulando seus deidos valores para o calculo final…

desde jah fico grato…

Abraço…