Dúvida aplicação

Oi pessoal estou com uma dúvida, na aplicação abaixo no método Bonifica eu quero que exiba a caixa de texto para que seja colocado o valor da bonificação e depois somado ao salário, que é exibido no método construtor, o que está errado, pq não está exibindo a caixa para que seja introduzido o valor da bonificação.

[code]package pacFuncionario;

import javax.swing. *; //importando todo o pacote

public class Funcionario{
String nome;
String depto;
double salario;
double tSl;
String dataAdm;
String rg;
boolean TrabOuNao;

//MÉTODOS DA CLASSE
void DadosFunc(){

String sl; //variável local

nome=JOptionPane.showInputDialog("Nome do Funcionário: ");
depto=JOptionPane.showInputDialog("Departamento: ");
dataAdm=JOptionPane.showInputDialog("Data de Admissão: ");
rg=JOptionPane.showInputDialog("RG: ");
sl=JOptionPane.showInputDialog("Salario: ");
salario=Double.parseDouble(sl);
}

void Bonifica(){
double vlBonif;
String bonif;

bonif=JOptionPane.showInputDialog("Valor da Bonificação: ");
vlBonif=Double.parseDouble(bonif);

tSl = vlBonif + salario;
 }

public Funcionario(){
DadosFunc();
Bonifica();

JOptionPane.showMessageDialog(null,"Nome do Funcionário: "+nome+ "\n" + "Departamento: " +depto+ "\n" +
"Data de Admissão: " +dataAdm+ "\n" +"RG: " +rg+ "\n" +"Salario: "+salario+ "\n"+ "Salario com Bonificação: "+tSl, 
"DADOS DO FUNCIONÁRIO", JOptionPane.INFORMATION_MESSAGE);

}

public static void main(String[]args){

//chamando os métodos
new Funcionario();
System.exit(0);
}

}
[/code]

Aqui funcionou numa boa…

Ele está lançando alguma exceção ou só não está apresentando o JOptionPane?

[]s

Já consegui resolver aqui, valeu :lol:

Dando continuidade a esse exercício, foi criada uma variável do tipo boolean TrabOuNao, que indica se o funcionário ainda trabalha na empresa, mas não estou sabendo como utilizar, no caso eu faria um loop, é necessário criar um método, ou pode ser feito no main :cry:

Mais uma dúvida, o exercício pede para construir dois novos funcionários com o new. Eu faria no main?

[code]public static void main(String[]args){

 new Funcionario1();
             new Funcionario2
System.exit(0);
}

[/code]

E depois criaria os dois métodos construtores, para chamar os métodos para preencher seus atributos?

Será q alguém pode me dar uma ajuda com essas dúvidas? :frowning:

Olá

05/07/2006 11:29:31 - coloca a dúvida

05/07/2006 12:45:12 - exige resposta

Não faça isto menina que é muito feio. E aprenda a colocar títulos nos tópicos descrevendo sua dúvida.

[]s
Luca

No caso da variável booleana, seguindo o padrão de codificação que você adotou, poderia fazer assim:

[code]String strTrabalha;

strTrabalha=JOptionPane.showInputDialog("Funcionario trabalha? (S para sim, qq outro para não) ");

if (strTrabalha.trim().equals(“S”)){

TrabOuNao=true;

}else{
TrabOuNao=false;
}[/code]
Você pode fazer uma telinha Swing com um checkbox também (procure por JCheckBox). Ficaria melhor.

No main você pode criar dois funcionários desta forma:

Funcionario f1=new Funcionario(); Funcionario f2=new Funcionario();

Eu fiz dessa forma, pq ainda não sei como usar essas outras opções que vc falou

[code]public Funcionario(){

String cx1;

DadosFunc();
Bonifica();
Mostra();

cx1=JOptionPane.showInputDialog("É funcionário da empresa(sim-não): ");
if(cx1.equals("sim"))
	JOptionPane.showMessageDialog(null,"O Funcionario ainda trabalha nesta empresa","SITUAÇÃO",JOptionPane.INFORMATION_MESSAGE);
	
	else
		JOptionPane.showMessageDialog(null,"O Funcionario não trabalha nesta empresa","SITUAÇÃO",JOptionPane.INFORMATION_MESSAGE);
}[/code]

Valeu pela ajuda :lol: