Olá,
Estou tentando resolver um exercicio proposto ao qual devo implementar a classe Funcionário usando o pacote comum e codificar um construtor que receba os valores através de argumentos e os métodos de manipulação (sets e gets). Devo também construir uma classe chamada TestaFuncionario, esta deve conter o método main() que deverá instanciar um objeto chamado func para a classe Funcionário. Os dados do funcionário, passados pelo construtor, deverão ser informados pelo usuário porem devo utilizar o Scanner para fazer a leitura dos dados, devo efetuar uma chamada ao método exibirDados().
A seguir esta o codigo que implementei, não houve erros porém após a solicitação de dados, na barra de status de tempo de execução esta escrito running e não sai disso, nenhuma mensagem de erro e a tela final ao qual deveria aparecer os resultados, não aparece, fiz o teste onde retirei a leitura do usuario e dei valores aos atributos do programa principal e o programa rodou certinho, acredito que o erro seja no Scanner mas não consigo indentifica-lo. O estranho é que ja utilizei o Scanner num codigo parecido e funcionou direitinho.
Por favor alguem poderia me ajudar???
Desde já muito obrigada!!!
package Comum;
import javax.swing.JOptionPane;
/**
* @author Stephanie
*/
public class Funcionario {
int matricula;
String nome;
String cargo;
double salBruto;
int percentualDesconto;
//construtor
public Funcionario(int matricula,String nome,String cargo,double salBruto, int percentualDesconto){
this.cargo=cargo;
this.matricula=matricula;
this.nome=nome;
this.percentualDesconto=percentualDesconto;
this.salBruto=salBruto;
}
//metodos modificadores
public void setMatricula(int matricula){
this.matricula=matricula;
}
public void setNome(String nome){
this.nome = nome;
}
public void setCargo(String cargo){
this.cargo = cargo;
}
public void setSalBruto(double salBruto){
this.salBruto=salBruto;
}
public void setPercentualDesconto(int percentualDesconto){
this.percentualDesconto = percentualDesconto;
}
public int getMatricula(){
return matricula;
}
public String getNome(){
return nome;
}
public String getCargo(){
return cargo;
}
public double getSalBruto(){
return salBruto;
}
public double getPercentualDesconto(){
return percentualDesconto;
}
public void exibirDados(){
JOptionPane.showMessageDialog(null,"Matricula: "+getMatricula()+"\nNome: "+getNome()+"\nCargo: "+getCargo()+
"\nSalario Bruto: "+getSalBruto()+"\nPercentual Desconto: "+getPercentualDesconto()+"\nSalario Liquido: "+SalarioLiquido());
}
public double SalarioLiquido(){
double res;
res = getSalBruto() - (getSalBruto()*getPercentualDesconto()/100);
return res;
}
}
//main
package Comum;
import java.util.Scanner;
/**
* @author Stephanie
*/
public class TestaFuncionario {
public static void main(String[] args) {
Scanner tecl = new Scanner(System.in);
int matr;
String nome ;
String carg;
double sal;
int prc ;
System.out.println("Digite a matricula do funcionario: ");
matr = tecl.nextInt();
System.out.println("Digite o nome do funcionário: ");
nome = tecl.next();
System.out.println("Digite o cargo do funcionário: ");
carg = tecl.next();
System.out.println("Digite o salario do funcionário: ");
sal = tecl.nextDouble();
System.out.println("Digite a percentual de desconto do funcionario: ");
prc = tecl.nextInt();
Funcionario func = new Funcionario(matr,nome,carg,sal,prc);
func.exibirDados();
}
}