Array, cadastro

Gostaria de saber como posso fazer um cadastro, usando um array com as informações:

código do desenho, nome do desenho, classificação de faixa etária.

Tentei fazer o seguinte:

import javax.swing.JOptionPane;

public class DesenhosAnimados {

    // array de Desenhos
    private static String[] listaDesenhos;
    private static String menu = "CADASTRO DE DESENHOS ANIMADOS\n\n"
            + "1 --> Cadastrar Desenhos\n"
            + "2 --> Alterar todos os dados pelo código\n"
            + "3 --> Listar desenhos por faixa etária\n"
            + "4 --> Sair";

    public static void main(String[] args) {

        // escolha do usuario
        String opcao = "";

        do {

            opcao = JOptionPane.showInputDialog(menu);

            if (opcao.equals("1")) {

                // cadastrar Desenhos

                cadastrarDesenho();

            } else if (opcao.equals("3")) {

                // listar Desenhos

                listarDesenho();

            }

        } while (!opcao.equals("7")); // comparacao usando String

    } // fim do main


    
    private static void listarDesenho() {

        if (listaDesenhos != null) {

            String ListaDesenhosTemporario = "Lista de Clientes \n\n";

            for (int i = 0; i < listaDesenhos.length; i++) {

                ListaDesenhosTemporario += listaDesenhos[i] + "\n";

            }

            // exibe na tela a listagem de clientes
            JOptionPane.showMessageDialog(null, ListaDesenhosTemporario);

        } else {

            JOptionPane.showMessageDialog(null,
                    "Nenhum registro encontrado?");

        }

    }
    
    
     private static void cadastrarDesenho() {
         
         
         int quantidade = Integer.parseInt(JOptionPane.showInputDialog("Quantos Desenhos deseja cadastrar?"));
         int codigo = 0;
         String nome = "";
         
         // inicializa o ARRAY com tamanho informado pelo usuario
         listaDesenhos = new String[quantidade];
         
         // percorre todo tamanho do ARRAY e cadastra seus elementos
          for (int i = 0; i < quantidade; i++) {
         listaDesenhos[i] = JOptionPane.showInputDialog("Código do desenho " + (i + 1));

          listaDesenhos[i] = JOptionPane.showInputDialog("Nome do desenho " + (i + 1));

  listaDesenhos[i] = JOptionPane.showInputDialog("Classificação de faixa etária " + (i + 1));

          }
         JOptionPane.showMessageDialog(null, "Desenhos cadastrados");
     }
    

Sei que o problema deve estar aqui, não consigo ver uma solução usando o matriz ou vetor.

[code]
// inicializa o ARRAY com tamanho informado pelo usuario
listaDesenhos = new String[quantidade];

     // percorre todo tamanho do ARRAY e cadastra seus elementos
      for (int i = 0; i < quantidade; i++) {
     listaDesenhos[i] = JOptionPane.showInputDialog("Código do desenho " + (i + 1));

      listaDesenhos[i] = JOptionPane.showInputDialog("Nome do desenho " + (i + 1));

listaDesenhos[i] = JOptionPane.showInputDialog("Classificação de faixa etária " + (i + 1));

      }
     JOptionPane.showMessageDialog(null, "Desenhos cadastrados");



[/code]

Cara… tá muito confuso o teu programa ai … me diga uma coisa … qual é o erro que dá ?

E uma dica… coloca o código fonte entre as tags [ code ] e [ / code ] … pq da forma como está, ninguém se interessa em ler…

É um programa de cadastro usando vetores ou matrizes.
Tenho que cadastrar nome, código e classificação de faixa etária e armazenar. Depois tenho que listar para ver quais desenhos estão cadastrados

Esse é apenas um menu




import javax.swing.JOptionPane; 

public class DesenhosAnimados { 

// array de Desenhos 
private static String[] listaDesenhos; 
private static String menu = "CADASTRO DE DESENHOS ANIMADOS\n\n" 
+ "1 --> Cadastrar Desenhos\n" 
+ "2 --> Alterar todos os dados pelo código\n" 
+ "3 --> Listar desenhos por faixa etária\n" 
+ "4 --> Sair"; 

Para o usuario escolher a opção dada ao menu


public static void main(String[] args) { 

// escolha do usuario 
String opcao = ""; 

do { 

opcao = JOptionPane.showInputDialog(menu); 

if (opcao.equals("1")) { 

// cadastrar Desenhos 

cadastrarDesenho(); 

} else if (opcao.equals("3")) { 

// listar Desenhos 

listarDesenho(); 

} 

} while (!opcao.equals("7")); // comparacao usando String 

} // fim do main 

Listar os desenhos cadasttrados

private static void listarDesenho() { 

if (listaDesenhos != null) { 

String ListaDesenhosTemporario = "Lista de Clientes \n\n"; 

for (int i = 0; i < listaDesenhos.length; i++) { 

ListaDesenhosTemporario += listaDesenhos[i] + "\n"; 

} 

// exibe na tela a listagem de clientes 
JOptionPane.showMessageDialog(null, ListaDesenhosTemporario); 

} else { 

JOptionPane.showMessageDialog(null, 
"Nenhum registro encontrado?"); 

} 

} 

Para Cadastrar
Esse é o código que dá erro. O erro é que não armazena codigo do desenho e nem o nome, somente classificação etária


// inicializa o ARRAY com tamanho informado pelo usuario 
listaDesenhos = new String[quantidade]; 

// percorre todo tamanho do ARRAY e cadastra seus elementos 
for (int i = 0; i < quantidade; i++) { 
listaDesenhos[i] = JOptionPane.showInputDialog("Código do desenho " + (i + 1)); 

listaDesenhos[i] = JOptionPane.showInputDialog("Nome do desenho " + (i + 1)); 

listaDesenhos[i] = JOptionPane.showInputDialog("Classificação de faixa etária " + (i + 1)); 

} 
JOptionPane.showMessageDialog(null, "Desenhos cadastrados"); 

Vamos por partes. Você precisa cadastrar os desenhos animados certo ? E os mesmos possuem os seguintes atributos: nome, código e classificação correto ?

Então, de cara, pq vc não cria uma classe DesenhoAnimado para “agregar” essas informações ?

Algo como:

public class DesenhoAnimado {
	private int codigo;
	private String nome;
	private String classificacao; // Aqui, o ideal seria uma Enum com somente as classificações possiveis...
	
	// gets e sets para os atributos...
}

Com a sua classe de entidades em mãos, você agora precisa de uma classe que irá meio que “gerenciar” os dados. Ou seja, vc precisa de um Dao ( não necessariamente um dao, mas ajuda…)

Você precisa criar uma classe que irá ficar responsável por realizar as operações com as entidades DesenhoAnimado. Ou seja, inserir, remover e listar.

Algo como:

public class DaoDesenhoAnimado {
	private Map<int codigo, DesenhoAnimado desenho> desenhos;
	
	public DaoDesenhoAnimado() {
		desenhos = new HashMap<int codigo, DesenhoAnimado desenho>();
	}
	
	public void cadastrarDesenhoAnimado(DesenhoAnimado desenho) {
		desenhos.put(desenho.getCodigo(), desenho);
	}
	
	public DesenhoAnimado recuperarDesenhoAnimado(int codigo) {
		desenhos.get(codigo); 
	}
	
	public  Collection<DesenhoAnimado> listarTodosDesenhosAnimados() {
		desenhos.getValues();
	}
	
}

Pronto! Agora você já tem a sua entidade, e uma classe que a gerência com relação as operações que devem ser suportadas pela app. Agora, basta ter uma classe principal que irá “orquestrar” o fluxo ( o vulgo menu ).

Algo como:

public class Principal {
	private static final DaoDesenhoAnimado dao = new DaoDesenhoAnimado();
	private static int codigo = 0;
	private static final String MENU = "CADASTRO DE DESENHOS ANIMADOS\n\n"   
	+ "1 --> Cadastrar Desenhos\n"   
	+ "2 --> Alterar todos os dados pelo código\n"   
	+ "3 --> Listar desenhos por faixa etária\n"   
	+ "4 --> Sair";
	
	public static void main(String[] args) {
		
		do {
			int opcao = Integer.parseInt(JOptionPane.showInputDialog(MENU));
			switch(opcao) {
				case 1:
					cadastrarDesenhoAnimado();
					break;
				case 2: 
					alterarDesenhosAnimados();
					break;
				case 3:
					listarDesenhosAnimados();
					break;
				case 4:
					break;
				default:
					JOptionPane.showMessageDialog(null, "Você deve escolher uma opção do menu!");				
			}
			
		} while(opcao != 4) ;
		
	}
	
	private static void cadastrarDesenhoAnimado() {
		DesenhoAnimado desenho = new DesenhoAnimado();
		String nome = JOptionPane.showInputDialog("Qual o nome do desenho ?");
		String classificacao = JOptionPane.showInputDialog("Qual a classificação do desenho ?");
		
		desenho.setCodigo(codigo++);
		desenho.setNome(nome);
		desenho.setClassificacao(classificacao);
		
		dao.cadastrarDesenhoAnimado(desenho);
	
		JOptionPane.showMessageDialog(null, "O desenho " + desenho.getNome() + " foi cadastrado corretamente!");
	}
	
	private static void listarDesenhosAnimados() {
		List<DesenhoAnimado> desenhos = new ArrayList<DesenhoAnimado>(dao.listarTodosDesenhosAnimados());
		
		for(DesenhoAnimado desenho : desenhos) {
			// Tô com preguiça... aqui vc adiciona a logica para exibição recuperando os atributos 
			// através dos métodos gets respectivos ... :D 
		}
	}
	
	private static void alterarDesenhosAnimados() {
		DesenhoAnimado desenho;
		
		int codigoAPesquisar = Integer.parseInt(JOptionPane.showInputDialog("Qual o código do desenho a ser alterado ?"));
		if(dao.recuperarDesenhoAnimado(codigoAPesquisar) != null) {
			// Mostra a msg que não existe o cara ...
		} else {
			// recupera o objeto, pergunta o que ele quer mudar. Depois chama o metodo:
			dao.cadastrarDesenhoAnimado(desenho);
		}
	}
}

Lembre-se ! Eu escrevi isso no TextMate enquanto eu comia banana caramelada com coca-cola ( é … eu tenho gostos estranhos . :smiley: ). Não me preocupei muito com sintaxe e tudo mais. A ideia aqui é mostrar mais ou menos o que vc pode fazer. Veja se isso lhe ajuda… qualquer coisa, vamos resolvendo os “por menores” por aqui.

Cara acredito que era tão fácil pra vc que vc digitou com os pés, ja que com uma mão você segurava a banana e com a outra a coca - cola kkkk.

sowyer Obrigadão, vc praticamente fez o exercíco todo para mim. Mas tem um problema acadêmico, o professor ainda não falou a respeito desse Dao, então acho que não poderia usa - lo.

O que ele quer é que eu armazene os dados colhidos do usuario em uma matriz ou vetor algo do tipo e depois no menu liste, altere essas informações do desenho

Esse é o anunciado,
[color=blue]Cadastro de desenhos animados Informações presentes no cadastro: código do desenho, nome do desenho, classificação de faixa etária, ano de criação do desenho, tempo de duração, quantidade em estoque, valor do DVD do desenho.
a) Opção para cadastro do desenho
b) Opção para alterar todos os dados pelo código
c) Opção para listar todos os desenhos por uma faixa etária
d) Opção para mostrar o desenho mais antigo de uma faixa etária
e) Opção para mostrar o total de valor em estoque (qtde em estoque * valor do DVD)
f) Opção para mostrar a média de tempo de duração de todos os desenhos

Observação: Não utilizar meios que não foi ensinado na sala de aula (banco de dados, orientação a objetos, etc…)[/color]

Lembre-se ! Nem almocei, só um copo de água, to tentando fazer esse projeto desde a 7 da mnhã, mas como sou iniciante no mundo da programação, ta osso!!! Obrigado pela compreensão.

hahahaha… agora ri… Bicho … nem OO pode usar ? Então me diz uma coisa… tem que fazer tudo em uma classe só é ?

Ou posso pelo menos dividir em classes ? ( a classe principal que conterá o menu, e os métodos que correspondem a cada uma das opções )

Tenha fé homi … vc vai conseguir … vamos discutindo os detalhes que o bicho sai …

Pois é cara, se fosse com orientação acho que ja tinha feito, tem bastante coisa na net,

mas do jeito que os prof querem é fod. Mas sim, pode dividir classes se houver necessidade

Blz… então pode existir uma classe DesenhoAnimado que irá conter os atributos código do desenho, nome do desenho, classificação de faixa etária, ano de criação do desenho, tempo de duração, quantidade em estoque, valor do DVD do desenho.

E uma classe que é o programa em si certo ?

Então deve haver um array de DesenhosAnimados para serem inseridos os Desenhos que forem sendo cadastrados correto ? Ou não pode ser assim ?

Exatamente isso , o que não pode é (herança, interface etc) eu acho.

Você pode fazer apenas 3 atributos, o restante ( classificação de faixa etária, ano de criação do desenho, tempo de duração, quantidade em estoque, valor do DVD do desenho. ) eu me viro

SuperGelson,

Rapz… eu modifiquei o código que tinha colocado pra usar um array de Strings pra armazenar os filmes.

Ficou assim:

public class Principal {
	
	// Estrutura de dados que armazenará os dados dos filmes ... 
	private static String[][] desenhosAnimados;
	
	// Indices dos campos dos desenhos ...
	private static final int CODIGO = 0;
	private static final int NOME = 1;
	private static final int CLASSIFICACAO = 2;
	private static final int ANO = 3;
	private static final int TEMPO = 4;
	private static final int QTD_ESTOQUE = 5;
	private static final int VALOR = 6;
	
	// String do menu ...
	private static final String MENU = "CADASTRO DE DESENHOS ANIMADOS\n\n"   
	+ "1 --> Cadastrar Desenhos\n"   
	+ "2 --> Alterar todos os dados pelo código\n"   
	+ "3 --> Listar desenhos por faixa etária\n"   
	+ "4 --> Sair";
	
	public static void main(String[] args) {
		
		do {
			int opcao = Integer.parseInt(JOptionPane.showInputDialog(MENU));
			switch(opcao) {
				case 1:
					cadastrarDesenhoAnimado();
					break;
				case 2: 
					alterarDesenhosAnimados();
					break;
				case 3:
					listarDesenhosAnimados();
					break;
				case 4:
					break;
				default:
					JOptionPane.showMessageDialog(null, "Você deve escolher uma opção do menu!");				
			}
			
		} while(opcao != 4) ;
		
	}

.
.
.

Note que AGORA… a estrutura utilizada para “guardar” os vagabundos dos filmes é um array de Strings. Logo após a declaração do mesmo, eu inclui uma identificação para cada indice da matriz que corresponde ao “atributo” do filme. Isso pra não ficar com “numeros magicos” no meio do código e facilitar a leitura do mesmo. Isso deveria ser uma ENUM mas não sei vc se pode usar … então foi no braço mesmo …

Agora vamos ao método que cadastra os filmes:

private static void cadastrarDesenhoAnimado() {
		String nome;
		String classificacao;
		String ano;
		String tempoDeDuracao;
		String qtdEstoque;
		String valor;
		int quantidadeDeCadastros = Integer.parseInt(JOptionPane.showInputDialog("Quantos desenhos animados você quer cadastrar ?"));
		desenhosAnimados = new String[quantidadeDeCadastros][7];		
		for(int i=0; i<desenhosAnimados.length; i++) {
			nome = JOptionPane.showInputDialog("Qual o nome do desenho ?");
			classificacao = JOptionPane.showInputDialog("Qual a classificação do desenho ?");
			ano = JOptionPane.showInputDialog("Qual o ano de lanámento do filme ?");
			tempoDeDuracao = JOptionPane.showInputDialog("Qual o tempo de duração ?");
			qtdEstoque = JOptionPane.showInputDialog("Qual a quantidade em estoque ?");
			valor = JOptionPane.showInputDialog("Qual o valor do aluguel para este filme ?");
			
			desenhosAnimados[i][CODIGO] = (i+1); // O código é o valor do i. 1, 2, 3, etc ...
			desenhosAnimados[i][NOME] = nome;
			desenhosAnimados[i][CLASSIFICACAO] = classificacao;
			desenhosAnimados[i][ANO] = ano;
			desenhosAnimados[i][TEMPO] = tempoDeDuracao;
			desenhosAnimados[i][QTD_ESTOQUE] = qtdEstoque;
			desenhosAnimados[i][VALOR] = valor;
		}
		
		JOptionPane.showMessageDialog("Todos os Desenhos foram cadastrados com sucesso !");
	}

Note que o desgraçado mudou bastante !!! Eu confesso que essa de usar Matrizes ou coisa do tipo é muito seboso … mas é o que tem pra hj né ? … Enfim … explicando um pouco por cima… basicamente, eu armazeno um filme por LINHA da matriz. As colunas são os atributos. Logo, um registro se parece com isso:

0 - 1 | Shrek | 10 anos | 2012 | 1:23 | 4 | R$ 3,00
1 - 2 | Noiva Cadaver | 18 anos | 1988 | 2:10 | 10 | R$ 1,00
.
.
.

Já o método alterar pode se parecer com isso:

	private static void alterarDesenhosAnimados() {

		String codigoAPesquisar = JOptionPane.showInputDialog("Qual o codigo do filme a ser alterado ?");

		for(int i=0; i<desenhosAnimados.length; i++) {
			if(desenhosAnimados[i][CODIGO].equals(codigoAPesquisar)) {
				String codigo = desenhosAnimados[i][CODIGO];
				
				String nome = JOptionPane.showInputDialog("Qual o novo nome do filme de código [" + codigo + "].");
				String classificacao = JOptionPane.showInputDialog("Qual o nova classificação do filme de código [" + codigo + "].");
				// Demais campos ...
				
				desenhosAnimados[i][NOME] = nome;
				desenhosAnimados[i][CLASSIFICACAO] = classificacao;
				// Demais campos atribuidos ... 
			}
		}
	}

Note que eu faço uma busca pelo campo CODIGO ( que na verdade é a coluna 0 da matriz ) e verifico se é igual ao fornecido ao JOptionPane. Se for, eu pergunto todas as informações de novo e armazeno na MESMA posição onde eu ACHEI o infeliz. Dai vc está alterando os dados de um filme previamente cadastrado.

E o listar pode ser mais ou menos assim:

private static void listarDesenhosAnimadosPorFaixa() {

		String classificacaoAPesquisar = JOptionPane.showInputDialog("Qual a faixa dos filmes ?");

		for(int i=0; i<desenhosAnimados.length; i++) {
			if(desenhosAnimados[i][CLASSIFICACAO].equals(classificacao)) {
				// aqui tu já achou o cara, e é só recuperar os dados das colunas, e imprimir da forma que o Sr quiser ! 
			}
		}
	}

Essa é uma linha de raciocínio onde vc usaria uma Matriz ( de String ) no caso de separar a classe que contem os atributos, ai vc NÃO vai precisar de uma Matriz. Somente de um Array de DesenhosAnimados.

Veja se ajuda … qualquer coisa, vai postando ai as duvidas que agente desenrrola…

Perfeito, vou testar e adaptar algumas coisas dpois posto

OBRIGADÃO

Essa é a ideia chefe ! Uma funcionalidade por vez… rode, teste, se der exceção, cole aqui … post suas duvidas que esse é o caminho … eu poderia ter feito tudo, mas onde estaria a graça né ? hahaha… relaxa… vai dar certo.

Eu aqui de novo. Eis o meu código

import javax.swing.JOptionPane;

public class Principal {

    // Estrutura de dados que armazenará os dados dos filmes ...   
    private static String[][] desenhosAnimados;
    // Indices dos campos dos desenhos ...  
    private static final int CODIGO = 0;
    private static final int NOME = 1;
    private static final int CLASSIFICACAO = 2;
    private static final int ANO = 3;
    private static final int TEMPO = 4;
    private static final int QTD_ESTOQUE = 5;
    private static final int VALOR = 6;
    // String do menu ...  
    private static final String MENU = "CADASTRO DE DESENHOS ANIMADOS\n\n"
            + "1 --> Cadastrar Desenhos\n"
            + "2 --> Alterar todos os dados pelo código\n"
            + "3 --> Listar desenhos por faixa etária\n"
            + "4 --> Mostrar o desenho mais antigo de uma faixa etária\n"
            + "5 --> Mostrar o total de valor em estoque (qtde em estoque * valor do DVD)\n"
            + "6 --> Opção para mostrar a média de tempo de duração de todos os desenhos\n"
            + "7 --> Sair";
    // private static Object classificacao;
    // private static int opcao;

    public static void main(String[] args) {


        // escolha do usuario
        String opcao = "";

        do {

            opcao = JOptionPane.showInputDialog(MENU);
            switch (opcao) {
                case "1":
                    // cadastrar Desenhos
                    cadastrarDesenhoAnimado();
                    break;

                case "2":
                    // Alterar Desenhos
                    // AlterarDadosCodigoDesenhoAnimado();
                    break;

                case "3":
                    // listar Desenhos
                    listarDesenhoFaixaEtaria();
                    
                    break;

                case "4":
                  
                    //mostrarDesenhoAntigo();
                    
                    break;

                case "5":
                   
                    //mostrarTotalValor();
                    
                    break;

                case "6":
                    
                    //mostrarMediaTempo();
                    
                    break;

                case "7":
                default:
                    JOptionPane.showMessageDialog(null, "Você está saindo do programa cadastro!");
            }

        } while (!opcao.equals("7")); // comparacao usando String

    } // fim do main

    private static void cadastrarDesenhoAnimado() {
        int codigo = 0;
        String nome;
        String classificacao;
        String ano;
        String tempoDeDuracao;
        String qtdEstoque;
        String valor;
        int quantidadeDeCadastros = Integer.parseInt(JOptionPane.showInputDialog("Quantos desenhos animados você quer cadastrar ?"));
        desenhosAnimados = new String[quantidadeDeCadastros][7];
        for (int i = 0; i < desenhosAnimados.length; i++) {
            nome = JOptionPane.showInputDialog("Qual o nome do desenho ?");
            classificacao = JOptionPane.showInputDialog("Qual a classificação do desenho ?");
            ano = JOptionPane.showInputDialog("Qual o ano de lançamento do filme ?");
            tempoDeDuracao = JOptionPane.showInputDialog("Qual o tempo de duração ?");
            qtdEstoque = JOptionPane.showInputDialog("Qual a quantidade em estoque ?");
            valor = JOptionPane.showInputDialog("Qual o valor do aluguel para este filme ?");

            codigo = (i + 1);
            desenhosAnimados[i][CODIGO] = Integer.toString(codigo); // O código é o valor do i. 1, 2, 3, etc ...  
            desenhosAnimados[i][NOME] = nome;
            desenhosAnimados[i][CLASSIFICACAO] = classificacao;
            desenhosAnimados[i][ANO] = ano;
            desenhosAnimados[i][TEMPO] = tempoDeDuracao;
            desenhosAnimados[i][QTD_ESTOQUE] = qtdEstoque;
            desenhosAnimados[i][VALOR] = valor;
        }

        JOptionPane.showMessageDialog(null, "Todos os Desenhos foram cadastrados com sucesso !");
    }

    
    
    private static void listarDesenhoFaixaEtaria() {

        String classificacaoAPesquisar = JOptionPane.showInputDialog("Qual a faixa etária deseja exibir ?");

        for (int i = 0; i < desenhosAnimados.length; i++) {
            if (desenhosAnimados[i][CLASSIFICACAO].equals(classificacao)) {
                // aqui tu já achou o cara, e é só recuperar os dados das colunas, e imprimir da forma que o Sr quiser !   
            }
        }
    }

    
    
    
    private static void alterarDesenhosAnimados() {

        String codigoAPesquisar = JOptionPane.showInputDialog("Qual o codigo do filme a ser alterado ?");

        for (int i = 0; i < desenhosAnimados.length; i++) {
            if (desenhosAnimados[i][CODIGO].equals(codigoAPesquisar)) {
                String codigo = desenhosAnimados[i][CODIGO];

                String nome = JOptionPane.showInputDialog("Qual o novo nome do filme de código [" + codigo + "].");
                String classificacao = JOptionPane.showInputDialog("Qual o nova classificação do filme de código [" + codigo + "].");
                // Demais campos ...  

                desenhosAnimados[i][NOME] = nome;
                desenhosAnimados[i][CLASSIFICACAO] = classificacao;
                // Demais campos atribuidos ...   
            }
        }
    }
   
}

Esta ocorrendo erro nessa parte

[code]
private static void listarDesenhoFaixaEtaria() {

    String classificacaoAPesquisar = JOptionPane.showInputDialog("Qual a faixa etária deseja exibir ?");

    for (int i = 0; i < desenhosAnimados.length; i++) {
        if (desenhosAnimados[i][CLASSIFICACAO].equals(classificacao)) {
            // aqui tu já achou o cara, e é só recuperar os dados das colunas, e imprimir da forma que o Sr quiser !   
        }
    }
}

[/code]

No caso (classificacao) que esta dando erro (esta com a cobrinha vermelha embaixo)

Também não entendi essa parte

 // aqui tu já achou o cara, e é só recuperar os dados das colunas, e imprimir da forma que o Sr quiser ! 

Esse é o erro

run: Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous tree type: <any> at Principal.listarDesenhoFaixaEtaria(Principal.java:119) at Principal.main(Principal.java:50) Java Result: 1 CONSTRUÍDO COM SUCESSO (tempo total: 29 segundos)

Tá … é pq o correto seria usar a variável “classificacaoAPesquisar”. O nome dela, antes de eu mudar, era classificacao apenas. Dai eu mudei para classificacaoAPesquisar e esqueci de mudar no equals.

sobre a linha:

// aqui tu já achou o cara, e é só recuperar os dados das colunas, e imprimir da forma que o Sr quiser ! 

Quer dizer que se você entrar no if, quer dizer que foi encontrado, dentre os desenhos animados cadastrados, um que a classificação bate ( exemplo, “18 anos” ). Logo, é dentro do if que vc deve executar a lógica desejada. No caso, listar os filmes.

Um exemplo:

String nome;
for (int i = 0; i < desenhosAnimados.length; i++) {  
        if (desenhosAnimados[i][CLASSIFICACAO].equals(classificacao)) {  
                JOptionPane.showMessageDialog(desenhosAnimados[i][CODIGO] + desenhosAnimados[i][NOME] + [demais campos]);
        }  
} 

Lembrando que esse método é referente a implementação da funcionalidade ‘c’.

c) Opção para listar todos os desenhos por uma faixa etária

Entendeu mais ou menos ? A funcionalidade Cadastrar já está ok ? Testou ?

Cadastrar ta ótima,

Obrigado

c

Cadastrar está ótimo,

vou terminar amanhã (eu acho)

Obrigado

Fé homem ! Fé !! :smiley:

Precisando estamos as ordens !

Tentei fazer o mostra o desenho mais antigo da faixa etária, mas não consegui


  private static void mostrarDesenhoMaisAntigoFaixaEtária() {
       

        String classificacaoAPesquisar = JOptionPane.showInputDialog("Qual a faixa etária deseja exibir ?");
        String mostrarDesenhoAntigo =  desenhosAnimados[0][0];
        
     
                int maior = 0;
  
        for (int i = 0; i < desenhosAnimados.length; i++) {
            
            
             if (desenhosAnimados[i][CLASSIFICACAO].equals(classificacaoAPesquisar)) {

                JOptionPane.showMessageDialog(null,
                        " Você escolheu a classificação  " + desenhosAnimados[i][CLASSIFICACAO] + "\n");

      
            
          if (i > maior){
              
             mostrarDesenhoAntigo = desenhosAnimados[i][ANO];
       
          }
            
             } 
           
        }
            
          JOptionPane.showMessageDialog(null,mostrarDesenhoAntigo); 
        }

    }