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.
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!
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…
[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…