Problema com While

1 resposta
U

Gente estou com um problema no meu programa que estou criando, quando coloco para executar um metodo dentro do while -> case, ele da problema ao buscar o valor.
O erro é justamente no while quando tirei do while dá certo.
Na hora de exibir o metódo exibirFormulario() da classe FormularioFuncoes

Cannot find symbol.
Variable id_Formulario.
Justamente na linha dela.

Segue o código: Main:
import javax.swing.JOptionPane; // classe JOptionPane  
public class FormularioTeste {	

	public static void main (String[] args){
		FormularioFuncoes teste = new FormularioFuncoes();
		teste.nomePrograma();		
		
		while (true) {
			int inicioPrograma = Integer.parseInt(JOptionPane.showInputDialog("Digite uma opção:\n\n Cadastrar Formulário:[1]\nSair do Programa:[0]."));
			switch(inicioPrograma) {
			case 1: 	
				teste.criarFormulario();
			break;
			case 2: 
				System.exit(0);
			break;
			default: JOptionPane.showMessageDialog(null, "Favor digite apenas as opções disponíveis!");
			}
		}		

	} // fim do metodo
} // fim da clase
FormularioFuncoes
import javax.swing.JOptionPane; // classe JOptionPane   
public class FormularioFuncoes {
	
	public String nome="";
	public String idade="";
	public String trabalho="";

				/* iniciar programa */	
	// nome programa
	public void nomePrograma(){
		JOptionPane.showMessageDialog(null, "Formulario \n(Versão 0.1) \n\n Criado por:\nRaphael Santana Carvalho");
	}

	// criar formulario
	public void criarFormulario(){
		Formulario id_Formulario = new Formulario(); 
		id_Formulario.setNome(nome); 
		id_Formulario.setIdade(idade); 
		id_Formulario.setTrabalho(trabalho);
	}
	
	// exibir formulario
	public void exibirFormulario(){
		JOptionPane.showMessageDialog(null, "Formulario \n\n Nome: "+id_Formulario.getNome()+" \n\n Idade: "+id_Formulario.getIdade()+" \n\n Trabalho: "+id_Formulario.getTrabalho()+".");
	}
}
import javax.swing.JOptionPane; // classe JOptionPane   
public class Formulario {

	private String nome;
	private int idade;
	private String trabalho;
	
				/* base formulario */
	// nome
	public void setNome(String valorNome){
		nome = JOptionPane.showInputDialog("Favor informar o seu nome:");
	}
	public String getNome(){
		return nome;
	}
	
	// idade
	public void setIdade(String valorIdade){			
		idade = Integer.parseInt(JOptionPane.showInputDialog("Favor informar a sua idade:"));
	}	
	public int getIdade(){
		return idade;
	}
	
	// trabalho
	public void setTrabalho(String valorTrabalho){
		trabalho = JOptionPane.showInputDialog("Favor informar o seu trabalho:");
	}
	public String getTrabalho(){
		return trabalho;
	}
	
} // fim da classe

Quem tiver disponibilidade para ajudar, ficarei grato!

1 Resposta

DeGuedes

Cara seguinte o seu erro acontece porque:

vc esta criando uma variavel dentro de uma função e tentando chamá-la em outra... por isso do erro cannot find symbol

/ criar formulario
	public void criarFormulario(){
		Formulario id_Formulario = new Formulario();  // <-- vc  ta criando a variavel aki
		id_Formulario.setNome(nome); 
		id_Formulario.setIdade(idade); 
		id_Formulario.setTrabalho(trabalho);
	}
	
	// exibir formulario
	public void exibirFormulario(){
		JOptionPane.showMessageDialog(null, "Formulario \n\n Nome: "+id_Formulario.getNome()+" \n\n Idade: "+id_Formulario.getIdade()+" \n\n Trabalho: "+id_Formulario.getTrabalho()+"."); // <-- e tentando pegar aqui...
	}

tente fazer assim:

import javax.swing.JOptionPane; // classe JOptionPane   
public class FormularioFuncoes {
	
	public String nome="";
	public String idade="";
	public String trabalho="";
        Formulario id_Formulario = new Formulario(); 

				/* iniciar programa */	
	// nome programa
	public void nomePrograma(){
		JOptionPane.showMessageDialog(null, "Formulario \n(Versão 0.1) \n\n Criado por:\nRaphael Santana Carvalho");
	}

	// criar formulario
	public void criarFormulario(){		
		id_Formulario.setNome(nome); 
		id_Formulario.setIdade(idade); 
		id_Formulario.setTrabalho(trabalho);
	}
	
	// exibir formulario
	public void exibirFormulario(){
		JOptionPane.showMessageDialog(null, "Formulario \n\n Nome: "+id_Formulario.getNome()+" \n\n Idade: "+id_Formulario.getIdade()+" \n\n Trabalho: "+id_Formulario.getTrabalho()+".");
	}
}

[]'s

Criado 22 de fevereiro de 2011
Ultima resposta 22 de fev. de 2011
Respostas 1
Participantes 2