Problema com Buffer na execução

Olá, dei uma pesquisada aqui e não encontrei algo relacionado, se tiver me desculpem.

Então estou começando agora, e esse é meu segundo programa em Java, mas costumo programar em C e em PHP, e não creio que o problema seja lógico, e sim sobre a forma de utilizar a linguagem. O problema consiste em Criar uma classe chamada empregado com nome sobrenome e salário, que deve conter o métodos set e get. Ou seja ler os dados informados pelo usuário, e depois dar uma bonificação no salário de 10%. Então fiz ele bonitinho, e copila de boa. Na hora de executar ele pega o nome, pega o sobrenome, e quando coloco o salário ele da erro de buffer e passa direto a próxima entrada. Um erro muito comum em C com a função Scanf, ao qual um %*c resolvia. Bom vou colocar o código aqui, se quiserem me dar uma ajudada =)

Estou usando como IDE o NetBeans.

Classe

package homework2;
/**
 *
 * @author rafael
 */
public class Empregado {
    private String Nome,Sobrenome;
    private double Salario;
    public void SetNome(String _name){
        Nome = _name;
    }
    public void SetSobrenome(String _sobre){
        Sobrenome = _sobre;
    }
    public void SetSalario(double cash){
        if(cash<0)
            Salario = 0;
        else
            Salario = cash;
    }
    public String GetNome(){
        return Nome;
    }
    public String GetSobrenome(){
        return Sobrenome;
    }
    public double GetSalario(){
        return Salario;
    }
}

Main

package homework2;
import java.util.Scanner;
/**
 *
 * @author rafael
 */
public class Main {
    public static void main(String args[]) {
        Scanner entrada = new Scanner(System.in);
        Empregado Emp1 = new Empregado(), Emp2 = new Empregado();
        System.out.println("Digite o nome do primeiro empregado:");
        Emp1.SetNome(entrada.nextLine());
        System.out.println("Digite o sobrenome do primeiro empregado:");
        Emp1.SetSobrenome(entrada.nextLine());
        System.out.println("Digite o salário do primeiro empregado:");
        Emp1.SetSalario(entrada.nextDouble());
        System.out.println("Digite o nome do segundo empregado:");
        Emp2.SetNome(entrada.nextLine());
        System.out.println("Digite o sobrenome do segundo empregado:");
        Emp2.SetSobrenome(entrada.nextLine());
        System.out.println("Digite o salário do segundo empregado:");
        Emp2.SetSalario(entrada.nextDouble());
        System.out.printf("O funcionário %s %s recebe: %d\n",Emp1.GetNome(),Emp1.GetSobrenome(),Emp1.GetSalario());
        System.out.printf("O funcionário %s %s recebe: %d\n",Emp2.GetNome(),Emp2.GetSobrenome(),Emp2.GetSalario());
        Emp1.SetSalario(Emp1.GetSalario()+Emp1.GetSalario()*0.1);
        Emp2.SetSalario(Emp2.GetSalario()+Emp2.GetSalario()*0.1);
        System.out.printf("Após o aumento, o funcionário %s %s recebe: %d\n",Emp1.GetNome(),Emp1.GetSobrenome(),Emp1.GetSalario());
        System.out.printf("Após o aumento, o funcionário %s %s recebe: %d\n",Emp2.GetNome(),Emp2.GetSobrenome(),Emp2.GetSalario());
    }
}

A linha 19 da main passa direto. E as linhas 24/25/28/29 não aparecem.

Obrigado.

coloque:
entrada.nextLine();
após

Emp1.SetSalario(entrada.nextDouble());  
         System.out.println("Digite o nome do segundo empregado:");   

Resolveu o problema do Buffer, mas ainda sim dá um erro na execução, após entrar os dados:

[quote]Exception in thread “main” java.util.IllegalFormatConversionException: d != java.lang.Double
[/quote]

Achei a solução do problema, Obrigado.

Se alguém futuramente estiver com a mesma dúvida o segundo problema era porque eu estava colocando %d para imprimir na tela com o printf, e deveria ter usado %f (no meu caso %.2f).