Ajuda com relacionamento de associação

Boa noite,
A Questão é a seguinte, preciso fazer esse exercício utilizando relacionamento de associação, no qual, numa classe o cliente insira o codigo, nome e uf de uma cidade e noutra classe a região geográfica com código e nome da região. Após o cadastro, fazer uma busca pela UF, sendo que o programa deverá listar todos os municípios da UF digitada. Tentei fazer utilizando array mas me perdi, pois está dando muitos erros e não estou conseguindo acertar. Após conseguir acertar esta parte tentarei criar um método pra busca pela UF como citado.

[code]public class RegiaoGeografica {

	private int codigor;
	private String nomeregiao;
	
public RegiaoGeografica() {
	 codigor=0;
	 nomeregiao="";
}
public RegiaoGeografica(int codigor, String nomeregiao){
	this.codigor=codigor;
	this.nomeregiao=nomeregiao;    		
}
public void setCodigor(int codigor){
	this.codigor=codigor;
}
public void setNomeRegiao(String nomeregiao){
	this.nomeregiao=nomeregiao;
}
public int getCodigor(){
	return this.codigor;
}
public String getNomeRegiao(){
	return this.nomeregiao;
}

}[/code]

[code]public class Cidade {

	private int codigo;
	private String nomecidade, unidfed;
	private RegiaoGeografica regiaogeografica;
	
public Cidade() {
	 codigo=0;
	 nomecidade="";
	 unidfed="";
	 regiaogeografica=null;
}
public Cidade(int codigo, String nomecidade, String unidfed, RegiaoGeografica regiaogeografica){
	this.codigo=codigo;
	this.nomecidade=nomecidade;
	this.unidfed=unidfed; 
	this.regiaogeografica=regiaogeografica;   		
}
public void setCodigo(int codigo){
	this.codigo=codigo;
}
public void setNomeCidade(String nomecidade){
	this.nomecidade=nomecidade;
}
public void setUnidfed(String unidfed){
	this.unidfed=unidfed;
}
public void setRegiaoGeografica(RegiaoGeografica regiaogeografica){
	this.regiaogeografica=regiaogeografica;
}
public int getCodigo(){
	return this.codigo;
}
public String getNomeCidade(){
	return this.nomecidade;
}
public String getUnidfed(){
	return this.unidfed;
}
public RegiaoGeografica getRegiaoGeografica(){
	return this.regiaogeografica;
}

}
[/code]

[code]import javax.swing.;
import java.util.
;

public class Cadastro {
public static void main (String[] args) {
// criar cidades
Cidade[] cidaddes;
cidaddes = insCidade();

//Criar pesquisa - Cliente digita a UF e o programa retorna as cidades com aquela UF.

// Imprimir todas a cidades cadastradas
System.out.println("Relação de Cidades: " );
imprime_relacao_cidades();
}

// instanciar cidades

public static Cidade[] insCidade() {

		Cidade[] cadCidade;  
        cadCidade = new Cidade[6]; 
        Cidade a = new Cidade();
  	
RegiaoGeografica r[]=new RegiaoGeografica[5];
	r[0]=new RegiaoGeografica(1,"Sul");
	  r[1]=new RegiaoGeografica(2,"Sudeste");
		r[2]=new RegiaoGeografica(3,"Norte");
			r[3]=new RegiaoGeografica(4,"Nortedeste");
				r[4]=new RegiaoGeografica(5,"Centro-Oeste");

cadCidade[0] = new Cidade();
cadCidade[0].setCodigo(Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da cidade:")));
cadCidade[0].setNomeCidade(JOptionPane.showInputDialog("Entre com o nome da Cidade:"));
cadCidade[0].setUnidfed(JOptionPane.showInputDialog("Entre com a sigla UF da unidade Federativa:"));
int codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:"));
for (int i=0;i<5;i++){
if (codigor == r[i].getCodigor())
	a.setRegiaoGeografica(r[i]);	
}
cadCidade[1] = new Cidade();
cadCidade[1].setCodigo(Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da cidade:")));
cadCidade[1].setNomeCidade(JOptionPane.showInputDialog("Entre com o nome da Cidade:"));
cadCidade[1].setUnidfed(JOptionPane.showInputDialog("Entre com a sigla UF da unidade Federativa:"));
int codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:"));
for (int i=0;i<5;i++){
if (codigor == r[i].getCodigor())
	a.setRegiaoGeografica(r[i]);	
}
cadCidade[2] = new Cidade();
cadCidade[2].setCodigo(Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da cidade:")));
cadCidade[2].setNomeCidade(JOptionPane.showInputDialog("Entre com o nome da Cidade:"));
cadCidade[2].setUnidfed(JOptionPane.showInputDialog("Entre com a sigla UF da unidade Federativa:"));
int codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:"));
for (int i=0;i<5;i++){
if (codigor == r[i].getCodigor())
	a.setRegiaoGeografica(r[i]);	
}
cadCidade[3] = new Cidade();
cadCidade[3].setCodigo(Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da cidade:")));
cadCidade[3].setNomeCidade(JOptionPane.showInputDialog("Entre com o nome da Cidade:"));
cadCidade[3].setUnidfed(JOptionPane.showInputDialog("Entre com a sigla UF da unidade Federativa:"));
int codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:"));
for (int i=0;i<5;i++){
if (codigor == r[i].getCodigor())
	a.setRegiaoGeografica(r[i]);	
}
cadCidade[4] = new Cidade();
cadCidade[4].setCodigo(Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da cidade:")));
cadCidade[4].setNomeCidade(JOptionPane.showInputDialog("Entre com o nome da Cidade:"));
cadCidade[4].setUnidfed(JOptionPane.showInputDialog("Entre com a sigla UF da unidade Federativa:"));
int codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:"));
for (int i=0;i<5;i++){
if (codigor == r[i].getCodigor())
	a.setRegiaoGeografica(r[i]);	
}
cadCidade[5] = new Cidade();
cadCidade[5].setCodigo(Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da cidade:")));
cadCidade[5].setNomeCidade(JOptionPane.showInputDialog("Entre com o nome da Cidade:"));
cadCidade[5].setUnidfed(JOptionPane.showInputDialog("Entre com a sigla UF da unidade Federativa:"));
int codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:"));
for (int i=0;i<5;i++){
if (codigor == r[i].getCodigor())
	a.setRegiaoGeografica(r[i]);	
}
	return cadCidade;

}
public static void imprime_relacao_cidades(Cidade[] cadCidade){
int tamanhoDoArray = cadCidade.length;
for(inti=0; i<tamanhoDoArray; i++){
System.out.println(“Cidade:” +cadCidade[i].getNomeCidade() + “”+" - UF: " +cadCidade[i].getUnidfed()+ “”+ " - Região Geográfica: " +
+ “” +cadCidade[i].getRegiaoGeografica());
}
}
}
[/code]
Se alguém puder me ajudar indicando onde estão os erros e como corrigi-los, serei muito grato.

Coloca esse cadastro de cidades dentro de um lasso, fica mais limpo:

for(Cidade c : cadCidade){ c = new Cidade(); c.setCodigo(Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da cidade:"))); c.setNomeCidade(JOptionPane.showInputDialog("Entre com o nome da Cidade:")); c.setUnidfed(JOptionPane.showInputDialog("Entre com a sigla UF da unidade Federativa:")); int codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:")); for (int i=0;i<5;i++){ if (codigor == r[i].getCodigor()) a.setRegiaoGeografica(r[i]); } }

Agora, quanto aos erros, onde estão dando os erros??

O código tá compilando? Tá lançando alguma excessão? São erros de lógica?

[quote=drigo.angelo]Coloca esse cadastro de cidades dentro de um lasso, fica mais limpo:

for(Cidade c : cadCidade){ c = new Cidade(); c.setCodigo(Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da cidade:"))); c.setNomeCidade(JOptionPane.showInputDialog("Entre com o nome da Cidade:")); c.setUnidfed(JOptionPane.showInputDialog("Entre com a sigla UF da unidade Federativa:")); int codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:")); for (int i=0;i<5;i++){ if (codigor == r[i].getCodigor()) a.setRegiaoGeografica(r[i]); } }

Agora, quanto aos erros, onde estão dando os erros??

O código tá compilando? Tá lançando alguma excessão? São erros de lógica?[/quote]

isso n funciona, pois “c” é um espaço na memoria q guarda um endereço, ou seja, “c” pode apontar para cadCidade[0] mas cadCidade[0] nunca vai apontar para “c”, portanto, do jeito q esta, “c” = new Cidade() sera perdido a cada loop;

so encontrei problemas na classe cadastro, mas como n entendi direito oq vc quer, vou apontar e dar sugestoes

linha 16:
está

imprime_relacao_cidades();

deve ser

imprime_relacao_cidades(cidaddes);

linha 47:
está

int codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:"));

pode ser(n sei ao certo)

codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:"));

linha 56:
está

int codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:"));

pode ser(n sei ao certo)

codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:"));

linha 65:
está

int codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:"));

pode ser(n sei ao certo)

codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:"));

linha 74:
está

int codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:"));

pode ser(n sei ao certo)

codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:"));

linha 83:
está

int codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:"));

pode ser(n sei ao certo)

codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:"));

linha 92:
está

for(inti=0; i<tamanhoDoArray; i++){

deve ser

for(int i=0; i<tamanhoDoArray; i++){

linha 93,94:
está

System.out.println("Cidade:" +cadCidade[i].getNomeCidade() + ""+" - UF: " +cadCidade[i].getUnidfed()+ ""+ " - Região Geográfica: " + + "" +cadCidade[i].getRegiaoGeografica());
deve ser

System.out.println("Cidade:" +cadCidade[i].getNomeCidade() + ""+" - UF: " +cadCidade[i].getUnidfed()+ ""+ " - Região Geográfica: " + "" +cadCidade[i].getRegiaoGeografica());

note q so pode ter um “int codigor”
>

axo q fiz merda, na hora q enviei saiu errado tudo errado, ai tentei arrumar mas bugo tudo, malz ai
//ignore , voltou ao normal -.-

Hauhuah é vero, mas daí é só não usar o enhanced for… :

Cidade c; for(int i = 0; i < cadCidade.lenght; i++){ c = new Cidade(); c.setCodigo(Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da cidade:"))); c.setNomeCidade(JOptionPane.showInputDialog("Entre com o nome da Cidade:")); c.setUnidfed(JOptionPane.showInputDialog("Entre com a sigla UF da unidade Federativa:")); int codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:")); for (int i=0;i<5;i++){ if (codigor == r[i].getCodigor()) c.setRegiaoGeografica(r[i]); } cadCidade[i] = c; }

Primeiramente Boa noite a todos e obrigado por citarem onde estavam os erros.
Acertei o código conforme a dica e rodou sem nenhum erro, porém, eu devo estar utilizando uma fórmula errada, pois de um jeito ele mostra null no lugar da região e do outro apresenta um segundo erro conforme abaixo:

public static void imprime_relacao_cidades(Cidade[] cadCidade){ int tamanhoDoArray = cadCidade.length; for(int i = 0; i <tamanhoDoArray; i++){ System.out.println("Cidade:" +cadCidade[i].getNomeCidade() + ""+" - UF: " +cadCidade[i].getUnidfed()+ ""+ " - Região Geográfica: " + "" +cadCidade[i].getRegiaoGeografica().getNomeRegiao()); }
Relação de Cidades:
Exception in thread “main” java.lang.NullPointerException
at Cadastro.imprime_relacao_cidades(Cadastro.java:96)
at Cadastro.main(Cadastro.java:15)

Process completed.

[code]public static void imprime_relacao_cidades(Cidade[] cadCidade){
int tamanhoDoArray = cadCidade.length;
for(int i = 0; i <tamanhoDoArray; i++){
System.out.println(“Cidade:” +cadCidade[i].getNomeCidade() + “”+" - UF: " +cadCidade[i].getUnidfed()+ “”+ " - Região Geográfica: "
+ “” +cadCidade[i].getRegiaoGeografica());
}

[/code]
Relação de Cidades:
Cidade:São Paulo - UF: SP - Região Geográfica: null
Cidade:Santos - UF: SP - Região Geográfica: null
Exception in thread “main” java.lang.NullPointerException
at Cadastro.imprime_relacao_cidades(Cadastro.java:96)
at Cadastro.main(Cadastro.java:15)

Process completed.

Detalhe: só está apresentando dois resultados porque eu coloquei as “//” no restante do código para fazer os testes.

Acredito que meu erro deve está no vetor criado das regiões as quais não estão sendo passadas para o método imprime.

Quanto ao dica do drigo.angelo ainda não testei porque não entendi algumas coisas, pois sou iniciante e bem leigo; estou seguindo o modelo de cima baseado numa dica em outro exercício que o ChronosSage me ajudou a entender. Aí peguei o modelo e tentei transformar neste, incrementando algumas coisas e acabei me perdendo. Mas no final, depois de corrigir os erros apontados, código rodou beleza, só está dando problema na saída do resultado da Região Geografica. Agora tenho que criar um método para realizar uma pesquisa pelo nome da UF, sendo que informarei o nome da UF e o método tem que me retornar todos os municípios cadastrados que contém a UF, porém num tenho nem idéia de como fazer isso. Já pesquisei alguns métodos, mas não estou vendo como inserí-lo no exercício. Será que alguém poderia me indicar como faze-lo e também como corrigir o método imprime.

[quote=drigo.angelo]Hauhuah é vero, mas daí é só não usar o enhanced for… :

Cidade c; for(int i = 0; i < cadCidade.lenght; i++){ c = new Cidade(); c.setCodigo(Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da cidade:"))); c.setNomeCidade(JOptionPane.showInputDialog("Entre com o nome da Cidade:")); c.setUnidfed(JOptionPane.showInputDialog("Entre com a sigla UF da unidade Federativa:")); int codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:")); for (int i=0;i<5;i++){ if (codigor == r[i].getCodigor()) c.setRegiaoGeografica(r[i]); } cadCidade[i] = c; }[/quote]

Boa noite, eu não entendi como eu iria acrescentar os métodos imprime e pesquisa neste tipo, apesar de perceber que ficou bem mais enxuto que o meu. Vou dar uma estudada neste tipo e tentar implementá-lo. E obrigado pela dica.

Coloca o enunciado do exercício pra entender melhor…

Boa noite.
O enunciado pede o acima citado. Vou tentar implatar o modelo citado pelo drigo e ver no que dá. acho que vou ter que mexer na classe região, ou melhor, vou mexer para ver se acerto.

tente substituir todos os “a.setRegiaoGeografica(r[i]);” por “cadCidade[0].setRegiaoGeografica(r[i]);”, “cadCidade[1].setRegiaoGeografica(r[i]);”, “cadCidade[2].setRegiaoGeografica(r[i]);”, “cadCidade[3].setRegiaoGeografica(r[i]);”, “cadCidade[4].setRegiaoGeografica(r[i]);” e “cadCidade[5].setRegiaoGeografica(r[i]);” respectivamente, isso remove problemas com null

ou tente o codigo a seguir substituindo pelas linhas 34 a 87 do seu 1o codigo postado da classe cadastro

[quote=drigo.angelo]Hauhuah é vero, mas daí é só não usar o enhanced for… :

Cidade c; for(int i = 0; i < cadCidade.lenght; i++){ c = new Cidade(); c.setCodigo(Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da cidade:"))); c.setNomeCidade(JOptionPane.showInputDialog("Entre com o nome da Cidade:")); c.setUnidfed(JOptionPane.showInputDialog("Entre com a sigla UF da unidade Federativa:")); int codigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:")); for (int i=0;i<5;i++){ if (codigor == r[i].getCodigor()) c.setRegiaoGeografica(r[i]); } cadCidade[i] = c; }[/quote]

Boa dia,
Resolvi tentar implementar como o drigo indicou, para enxugar o código. Acho que quase deu certo, pois apresentou 4 erros; porém já mexi de várias formas para tentar corrigir, mas o número de erros só aumentam.
Será que alguém poderia indicar o que fazer para corrigir estes erros.

[code]import javax.swing.*;  
import java.util.*;  
  
public class Cadastro {  
public static void main (String[] args) {  
// criar cidades  
Cidade[] cidaddes;  
cidaddes = insCidade();  

//Criar pesquisa - Cliente digita a UF e o programa retorna as cidades com aquela UF.
System.out.println("Relação de Cidades da UF: " );
imprime_resultado_pesquisa(cidaddes);

// Imprimir todas a cidades cadastradas
System.out.println("Relação de Cidades: " );
imprime_relacao_cidades(cidade);

  }  
 
 // instanciar cidades  
   
 public static Cidade insCidade() {    
         
           cadCidade = new Cidade[2];   
           Cidade c = new Cidade();  
         
  
    for(Cidade c : cadCidade){  
   	c = new Cidade();    
    c.setCodigo(Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da cidade:")));    
    c.setNomeCidade(JOptionPane.showInputDialog("Entre com o nome da Cidade:"));    
   	c.setUnidfed(JOptionPane.showInputDialog("Entre com a sigla UF da unidade Federativa:"));    
    c.setCodigor = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica:"));    
    c.setNomeRegiao(JOptionPane.showInputDialog("Entre com o nome da Região Geografica em que o município está localizado:"));
    return Cidade[i];
   
  public static void imprime_relacao_cidades(Cidade[i]){  
  int tamanhoDoArray = cadCidade.length;  
  for(inti=0; i < 2; i++){  
      System.out.println("Cidade:" +cadCidade[i].getNomeCidade() + ""+" - UF: " +cadCidade[i].getUnidfed()+ ""+ " - Região Geográfica: "  
          + "" +cadCidade[i].getRegiaoGeografica());  
  }  
 }  
}	

}
public static void imprime_resultado_pesquisa(){
c.setUnidfed(JOptionPane.showInputDialog(“Entre com a sigla UF a ser pesquisada:”));
if (c.setUnidfed == c.getUnidfed);
System.out.println( "Relação dos município da UF: " +c.getUnidfed + c.getNomeCidade);

 	}
    }
[/code]

Mudei o código e criei uma pesquisa, porém continua com os erros conforme abaixo, alguém poderia indicar como corrigir estes erros.

--------------------Configuration: CoreCidade - JDK version 1.6.0_22 - --------------------
C:\Documents and Settings\XTR\Meus documentos\JCreator Pro\MyProjects\CoreCidade\Cadastro.java:41: illegal start of expression
public static void imprime_relacao_cidades(Cidade[i]){
^
C:\Documents and Settings\XTR\Meus documentos\JCreator Pro\MyProjects\CoreCidade\Cadastro.java:41: illegal start of expression
public static void imprime_relacao_cidades(Cidade[i]){
^
C:\Documents and Settings\XTR\Meus documentos\JCreator Pro\MyProjects\CoreCidade\Cadastro.java:41: ‘;’ expected
public static void imprime_relacao_cidades(Cidade[i]){
^
C:\Documents and Settings\XTR\Meus documentos\JCreator Pro\MyProjects\CoreCidade\Cadastro.java:41: ‘;’ expected
public static void imprime_relacao_cidades(Cidade[i]){
^
4 errors

Process completed.

Só mais uma coisa:
Eu alterei a classe RegiãoGeográfica ficando conforme segue:

[code] public class RegiaoGeografica {

        private int codigor;  
        private String nomeregiao;  
          
    public RegiaoGeografica() {  
         codigor=0;  
         nomeregiao="";  
    }  
   public void setCodigor(int codigor){  
       this.codigor=codigor;  
   }  
   public void setNomeRegiao(String nomeregiao){  
       this.nomeregiao=nomeregiao;  
   }  
   public int getCodigor(){  
       return this.codigor;  
   }  
   public String getNomeRegiao(){  
       return this.nomeregiao;  
   }  

} [/code]

[quote=ChronosSage]tente substituir todos os “a.setRegiaoGeografica(r[i]);” por “cadCidade[0].setRegiaoGeografica(r[i]);”, “cadCidade[1].setRegiaoGeografica(r[i]);”, “cadCidade[2].setRegiaoGeografica(r[i]);”, “cadCidade[3].setRegiaoGeografica(r[i]);”, “cadCidade[4].setRegiaoGeografica(r[i]);” e “cadCidade[5].setRegiaoGeografica(r[i]);” respectivamente, isso remove problemas com null

ou tente o codigo a seguir substituindo pelas linhas 34 a 87 do seu 1o codigo postado da classe cadastro

Bom dia tentei subtituir, mas deu os seguintes erros:
Relação de Cidades:
Cidade:Colatina - UF: Es - Região Geográfica: RegiaoGeografica@1ef9157
Cidade:Nova Venecia - UF: ES - Região Geográfica: RegiaoGeografica@1ef9157
Exception in thread “main” java.lang.NullPointerException
at Cadastro.imprime_relacao_cidades(Cadastro.java:96)
at Cadastro.main(Cadastro.java:15)

Process completed.

Agora vou pro trabalho, hoje a noite e amanhã durante o dia vou continuar no quebra cabeça. E mais um vez, obrigado a todos. e a propósito, criei uma nova classe cadastro e estou tentando implementar conforme a dica do drigo. logo estou tentando das duas formas, mas até agora nenhuma ficou correta. Eu vou estudar cada vez mais e com um tempo eu ainda fico bom nisso. rs

Seguinte,

Rapaz, não sei se foi falta de atenção sua mas na linha 52 do seu post está assim:

if (c.setUnidfed == c.getUnidfed);  

Remova esse ponto e vírgula do final da sentença. E é sempre bom para melhor entendimento você colocar chaves nos seus ifs, mesmo que eles tenham apenas uma linha.

Boa Noite a todos;
Dei uma estudada na matéria e fiz uma nova tentativa, só que agora alterando um pouco mais a classe de cadastro. Esta apresentou apenas um erro como segue abaixo, porém não me retorna as cidades e nem me deu a oportunidade de digitar a uf, sendo que criei esta opção, pelo menos acredito que tenha criado. Será que alguém pode mostrar como terminar este ultimo modelo de classe que tentei abaixo.

import javax.swing.*;
import java.util.*;
public class Cadastro_cidade_estado{
public static void main (String[] args) {


  RegiaoGeografica r[]=new RegiaoGeografica[5];
  	
  	for (int i=0; i<5; i++){
  		r[i]=new RegiaoGeografica();
  		r[i].setCodigor(Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica: ")));
  		r[i].setNomeRegiao(JOptionPane.showInputDialog("Entre com o nome da Região: "));
  	}
  	Cidade c[]=new Cidade[3];
  	for (int i=0; i<3; i++){
  		
  		c[i]=new Cidade();
  		c[i].setCodigo(Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da cidade:")));
  		c[i].setNomeCidade(JOptionPane.showInputDialog("Entre com o nome da Cidade:"));
  		c[i].setUnidfed(JOptionPane.showInputDialog("Entre com a sigla UF da unidade Federativa:"));
  		
  		String nomeregi=JOptionPane.showInputDialog("Digite o nome da Região");
  		
  		for (int j=0; j<5; j++){
  			if (nomeregi.equalsIgnoreCase(r[j].getNomeRegiao())){
  				c[i].setNomeCidade(r[j]);
  				break;
  				
  			}
  		}
  	}
  	
  	String nomecidade= JOptionPane.showInputDialog(("Digite a Cidade: "));
  		for (int i=0; i< 3; i++){
  			if(nomecidade.equalsIgnoreCase(c[i].getNomeCidade())){
  				JOptionPane.showMessageDialog(null,"Nome da Cidade: "+c[i].getNomeCidade());
  				break;
  			}
  		}
  	//entrar  com o nome da UF e imprimir todas as cidades desta UF
  	String unidfed=JOptionPane.showInputDialog("Digite a UF: ");
  	for (int i=0; i<5; i++){
  		if (unidfed.equalsIgnoreCase(c[i].getUnidfed())){
  			JOptionPane.showMessageDialog(null,"Nome UF: " +c[i].getUnidfed()+""+"Nome Cidade: " +c[i].getNomeCidade());
  		}
  	}
  	System.exit(0);
  	}
   }

C:\Documents and Settings\THZ\Meus documentos\JCreator Pro\MyProjects\Cidade\Cadastro_cidade_estado.java:26: setNomeCidade(java.lang.String) in Cidade cannot be applied to (RegiaoGeografica)
c[i].setNomeCidade(r[j]);
^
1 error

Process completed.

RegiaoGeografica r[]=new RegiaoGeografica[5]; r[0]=new RegiaoGeografica(1,"Sul"); r[1]=new RegiaoGeografica(2,"Sudeste"); r[2]=new RegiaoGeografica(3,"Norte"); r[3]=new RegiaoGeografica(4,"Nortedeste"); r[4]=new RegiaoGeografica(5,"Centro-Oeste");
insira na linha 8

Num entendi, porque já tentei das 3 formas acima. Estou mais perdido que cego em tiroteio. rsrs. É para inserir em qual do modelos declasse 1,2 ou 3?

[quote=Kuster_01]Boa Noite a todos;
Dei uma estudada na matéria e fiz uma nova tentativa, só que agora alterando um pouco mais a classe de cadastro. Esta apresentou apenas um erro como segue abaixo, porém não me retorna as cidades e nem me deu a oportunidade de digitar a uf, sendo que criei esta opção, pelo menos acredito que tenha criado. Será que alguém pode mostrar como terminar este ultimo modelo de classe que tentei abaixo.

import javax.swing.*;
import java.util.*;
public class Cadastro_cidade_estado{
public static void main (String[] args) {


  RegiaoGeografica r[]=new RegiaoGeografica[5];
  	
  	for (int i=0; i<5; i++){
  		r[i]=new RegiaoGeografica();
  		r[i].setCodigor(Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica: ")));
  		r[i].setNomeRegiao(JOptionPane.showInputDialog("Entre com o nome da Região: "));
  	}
  	Cidade c[]=new Cidade[3];
  	for (int i=0; i<3; i++){
  		
  		c[i]=new Cidade();
  		c[i].setCodigo(Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da cidade:")));
  		c[i].setNomeCidade(JOptionPane.showInputDialog("Entre com o nome da Cidade:"));
  		c[i].setUnidfed(JOptionPane.showInputDialog("Entre com a sigla UF da unidade Federativa:"));
  		
  		String nomeregi=JOptionPane.showInputDialog("Digite o nome da Região");
  		
  		for (int j=0; j<5; j++){
  			if (nomeregi.equalsIgnoreCase(r[j].getNomeRegiao())){
  				c[i].setNomeCidade(r[j]);
  				break;
  				
  			}
  		}
  	}
  	
  	String nomecidade= JOptionPane.showInputDialog(("Digite a Cidade: "));
  		for (int i=0; i< 3; i++){
  			if(nomecidade.equalsIgnoreCase(c[i].getNomeCidade())){
  				JOptionPane.showMessageDialog(null,"Nome da Cidade: "+c[i].getNomeCidade());
  				break;
  			}
  		}
  	//entrar  com o nome da UF e imprimir todas as cidades desta UF
  	String unidfed=JOptionPane.showInputDialog("Digite a UF: ");
  	for (int i=0; i<5; i++){
  		if (unidfed.equalsIgnoreCase(c[i].getUnidfed())){
  			JOptionPane.showMessageDialog(null,"Nome UF: " +c[i].getUnidfed()+""+"Nome Cidade: " +c[i].getNomeCidade());
  		}
  	}
  	System.exit(0);
  	}
   }

C:\Documents and Settings\THZ\Meus documentos\JCreator Pro\MyProjects\Cidade\Cadastro_cidade_estado.java:26: setNomeCidade(java.lang.String) in Cidade cannot be applied to (RegiaoGeografica)
c[i].setNomeCidade(r[j]);
^
1 error

Process completed.
[/quote]
Este, corrigi mais alguns erros mas tem um q n sei arrumar pois depende doq vc qh

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

    RegiaoGeografica r[] = new RegiaoGeografica[5];
    r[0] = new RegiaoGeografica(1, "Sul");
    r[1] = new RegiaoGeografica(2, "Sudeste");
    r[2] = new RegiaoGeografica(3, "Norte");
    r[3] = new RegiaoGeografica(4, "Nortedeste");
    r[4] = new RegiaoGeografica(5, "Centro-Oeste");
    for (int i = 0; i < 5; i++) {
        r[i] = new RegiaoGeografica();
        r[i].setCodigor(Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da Região Geográfica: ")));
        r[i].setNomeRegiao(JOptionPane.showInputDialog("Entre com o nome da Região: "));
    }
    Cidade c[] = new Cidade[3];
    for (int i = 0; i < 3; i++) {

        c[i] = new Cidade();
        c[i].setCodigo(Integer.parseInt(JOptionPane.showInputDialog("Entre com o código da cidade:")));
        c[i].setNomeCidade(JOptionPane.showInputDialog("Entre com o nome da Cidade:"));
        c[i].setUnidfed(JOptionPane.showInputDialog("Entre com a sigla UF da unidade Federativa:"));

        String nomeregi = JOptionPane.showInputDialog("Digite o nome da Região");

        for (int j = 0; j < 5; j++) {
            if (nomeregi.equalsIgnoreCase(r[j].getNomeRegiao())) {
                c[i].setRegiaoGeografica(r[j]);
                break;

            }
        }
    }

    String nomecidade = JOptionPane.showInputDialog(("Digite a Cidade: "));
    for (int i = 0; i < 3; i++) {
        if (nomecidade.equalsIgnoreCase(c[i].getNomeCidade())) {
            JOptionPane.showMessageDialog(null, "Nome da Cidade: " + c[i].getNomeCidade());
            break;
        }
    }
    //entrar  com o nome da UF e imprimir todas as cidades desta UF
    String unidfed = JOptionPane.showInputDialog("Digite a UF: ");
    for (int i = 0; i < 5; i++) {
        if (unidfed.equalsIgnoreCase(c[i].getUnidfed())) {
            JOptionPane.showMessageDialog(null, "Nome UF: " + c[i].getUnidfed() + "" + "Nome Cidade: " + c[i].getNomeCidade());
        }
    }
    System.exit(0);
}[/code]

Sinceramente já desisti, pois ainda não aprendi o suficiente para resolve-lo, vou estudar um pouco mais e tentar novamentente.