Olá comunidade, boa tarde.
Essa é minha segunda conta aqui, pois perdi a primeira e não consigo recuperar a senha.
Bem, faz muito tempo que posto aqui. Voltei a estudar Java depois de um longo tempo e me
deparei com um problema na classe Scanner. Estou estudando novamente pelo livro do Paul
Deitel. No capítulo sobre orientação a objetos resolvi criar meu próprio programa como exercício de aprendizagem.
No exemplo do livro ele passa parâmetros para a super classe escrevendo os dados na lista de parâmetros do objeto e os enviando para o método construtor da super classe. Porém, eu resolvi fazer isso utilizando a entrada de dados e usando a classe Scanner.
Bem, são três classes em meu projeto, a saber: Uma chamada Comissionados, outra VendedorBaseComissionado e outra FolhaPagmentoTeste. Essa última contêm o método main. Nesse método crio dois objetos, um para a classe Comissionados e outro para a classe VendedorComissionado. Uso a classe Scanner para fazer a entrada dos dados para os dois objetos e os passo para o método construtor de cada classe. A entrada de dados para o funcionário1 está funcionando, porém, quando faço a entrada de dados para o funcionário2 o compiador manda infrmar o nome do funcionario2, não pede seu nome e manda informar o cpf do funcionario2. Alguém sabe me dizer onde está o erro ou o que está acontecendo, por favor?
O código fonte da classe FolhaPagamentoTeste está abaixo:
package folhaPagamento;
import java.util.Scanner;
public class FolhaPagamentoTest
{
public static void main(String[] args)
{
Scanner entrada = new Scanner(System.in);
String nm;
String cp;
double venda;
double com;
double sal;
// Entrada de dados do funcionário comissionado
System.out.printf("%s\n", "Informe o nome do funcionário comissionado:");
nm = entrada.nextLine();
System.out.printf("%s\n", "Informe o cpf do fucnionário comissionado:");
cp = entrada.nextLine();
System.out.printf("%s\n", "Informe as vendas do funcionário comissionado:");
venda = entrada.nextDouble();
System.out.printf("%s\n", "informe a comissão do funcionário comissionado:");
com = entrada.nextDouble();
Comissionados funcionario1 = new Comissionados(nm, cp, venda, com);
// Entrada de dados do funcionário comissionado com salário fixo
System.out.printf("%s\n", "Informe o nome do funcionário com salário e comissão:");
nm = entrada.nextLine();
System.out.printf("%s\n","Informe o cpf do fucnionário com salário e comissão:");
cp = entrada.nextLine();
System.out.printf("%s\n", "Informe as vendas do funcionário com salário e comissão");
venda = entrada.nextDouble();
System.out.printf("%s\n", "Informe a comissão do funcionário com salário e comissão");
com = entrada.nextDouble();
System.out.printf("%s\n", "Informe o salário funcionário com salário e comissão");
sal = entrada.nextDouble();
VendedorBaseComissionado funcionario2 = new VendedorBaseComissionado(nm, cp, venda, com, sal);
// Imprime na tela os dados do vendedor com comissão
System.out.printf("\n%s\n: %s\n", "Dados do vendedor com comissão", funcionario1.toString());
// Imprime na tela os dados do vendedor com comissão e salário:
System.out.printf("\n%s\n %s\n", "Dados do vendedor com comissão e salário", funcionario2.toString());
}
}