Dúvida (while)

E aí! Boa noite, estou com um problema no exercício que estava fazendo, o enunciado e o seguinte :

  • Na empresa lojas americanas o departamento de RH precisa recalcular o salario de 3500 funcionários se o funcionário tiver mais de 3 anos de casa devera receber 1% de aumento.
  • Se o funcionário for do sexo feminino ira receber 3% de aumento.As informações que serão inseridas no sistema são:nome,sexo,ano de entrada na empresa e salario atual.A cada calculo
  • Devera ser apresentado nome, salario atual e o novo salario do funcionário.

A partir dai eu comecei, fiz o código todo, no final do código da um problema que ele repete o salário da pessoa anterior, gostaria de saber o que esta acontecendo, vou deixar o código para melhor entendimento, para se possível me ajudarem a achar o erro

public static void main(String[] args) {

	double control = 1, salAtu = 0, salnovo = 0 , anoentrada = 0 , idadeempresa = 0;
    
    String nome,sexo;
    
    Scanner entrada = new Scanner(System.in);
    
	while(control <= 2)
	{
	System.out.println("Digite o nome do funcionario " + control);
	nome = entrada.next();
	
	System.out.println("Digite o sexo de " + nome);
	sexo = entrada.next();
	
	System.out.println("Informe o salario atual de" + nome);
	salAtu =entrada.nextInt();
	
	System.out.println("Informe o ano de entrada de" + nome);
	anoentrada=entrada.nextInt();
	
	idadeempresa = (2018 - anoentrada);
	 if (idadeempresa > 3) {
	 
		 salnovo= (salAtu * 1.01);
		 			 
	 }
	 
	 if(sexo.toUpperCase().equals("F"))	{
	
		 salnovo= (salAtu * 1.03);
	}
	 
	if(sexo.toUpperCase().equals("F") && idadeempresa > 3) {
		
		salnovo = (salAtu * 1.01*1.03);
	}
	 
	  System.out.println("O " + nome + " possui " + salAtu + " de salario " + "passa a receber " + salnovo);
	
	control = control + 1;
	}
}

}

Você não tem nenhum tratamento caso o sexo seja diferente de F, se na segunda vez você digitar M no sexo e a idadeempresa for menor que 4, o salnovo vai ficar com o valor antigo