Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

danielswater

[Resolvido] Cade o maldito erro?

Recommended Posts

kkkkkkk, calma brother não desiste assim não...

 

Uma coisa que eu faço quando encontro problemas causados por entidades maligas é deixar ele pra tráz e fazer outros exercícios, dps você da uma olhada nele e tenta arrumar, se der pau outra vez eu começo ele do zero...

 

Se você quiser pode me mandar os códigos desse exercício que eu dou uma olhado e tento arrumar amanhã.

 

Boa sorte aew bro, =]

 

Firmeza, é o que eu vou fazer, vou deixar ele quieto e chamar um exorcista, talvez ele consiga fazer funcionar :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai galera beleza?

Voltei aqui para dizer que consegui fazer o programa rodar, foi um sacrificio mas ta indo, porem, to desconfiado de uma coisa que na verdad, nao sei se e do programa ou do eclipse. O que acontece e que as vezes, no case 2 ou no 1, a janelinha que teria que aparecer a mensagem aparece, porem sem a mensagem entendem?

Outra coisa, não sei oque está acontecendo no case 4, que deveria sair do programa, porem, ele volta para o menu, alguma dica? segue o código (desta vez identado :))

 

import javax.swing.*;
public class CadastroProfessor {

	public static void main(String[] args) {
		
		Professor pro[]=new Professor[100];
		Disciplina dis[]=new Disciplina[100];
		
		int d=0;
		int op;
		
		while(true){
		
		op=Integer.parseInt(JOptionPane.showInputDialog("1- Cadastro de Prof. e Disciplinas \n 2- Busca Disciplinas \n 3- Busca titulação \n 4- Sair"));
		
		//Começa o cadstro de Professores e Disiciplinas
		switch(op){
		
		case 1:
		d=Integer.parseInt(JOptionPane.showInputDialog("Digite a quantidade de Disciplinas a cadastrar"));
		for(int i=0; i<d; i++){
			dis[i]=new Disciplina();
			dis[i].setNome(JOptionPane.showInputDialog("Digite o nome da Disciplina"));
			dis[i].setCargaho(Integer.parseInt(JOptionPane.showInputDialog("Digite a carga horária da Disciplina")));
			pro[i]=new Professor();
			pro[i].setNome(JOptionPane.showInputDialog("Digite o nome do Professor"));
			pro[i].setTitulacao(JOptionPane.showInputDialog("Digite a titulação do Professor"));
			dis[i].setProfessor(pro[i]);
		}
		break;
		//Busca pelo nome da Disciplina e mostra o Professor que ministra
		case 2:
			String busca=JOptionPane.showInputDialog("Digite a Disciplina a ser buscada");
			for(int j=0; j<d; j++){
				if(busca.equalsIgnoreCase(dis[j].getNome()))
					JOptionPane.showMessageDialog(null,"Disiciplina ministarda pelo Professor " + "" + dis[j].getProfessor().getNome());
		}
		break;
		//Busca pela titulaçao do Professor
		
		case 3:
			String tit=JOptionPane.showInputDialog("Digite a titulação do professor");
			for(int k=0; k<d; k++){
				if(tit.equalsIgnoreCase(pro[k].getTitulacao()))
					JOptionPane.showMessageDialog(null,"Professores com essa titulação: " + "" + pro[k].getNome());
			}
			break;
			//Sai do programa
		case 4:
			System.out.println(0);
			break;
			}
		}
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ahahah,

Que bom que você conseguiu arrumar isso.

Sugiro que você use o Netbeans, ele é mais pesado mas é ótimo para programar em java, pois tem um debug que é show de bola, o melhor que já usei.

 

Agora para sair do programa no case4 o seu break apenas sai do switch, pois o break interrompe a primeira estrutura acima, nesse caso o switch.

O jeito mais fácil de arrumar isso é declando uma variável com valor booleano e colocando ela no while, ai no case4 você muda o valor dessa variável para false, mais ou menos assim:

 

boolean loop = true;

...

while(loop){

....

case 4:

loop = false;

break;

...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.