ArrayList

Pessoal estive procurando pelo forum e não achei nada parecido com meu problema.

Seguinte tenho um exercicio para ser feito sobre ArrayList onde o programa deve incluir, consultar e excluir intes de um ArrayList e tem que ser com o ADD e Remove. Estou tendo problema para incluir itens no ArrayList e não faço a minima ideia de fazer a consulta. Veja o que podem ser feito e a onde eu estou errando.

Abaixo está o codigo( horrivel)… :cry: :cry: :cry:

import java.util.ArrayList;
import javax.swing.JOptionPane;

public class Ex02 {

	public static void main(String[] args) {
		ArrayList vdados = new ArrayList();
		
		int vopcao=0;
		int vnum=0;
		String vmenu = "1- Incluir\n" +
		               "2- Consultar\n" +
		               "3- Excluir\n" +
		               "4- Sair\n" ;
	while(vopcao != 4 ){
		try
		{
		     vopcao=(Integer.parseInt(JOptionPane.showInputDialog(vmenu)));
		switch(vopcao)

		{
		case 1:
			   vdados.add(JOptionPane.showInputDialog("Informe o nome"));
			   System.out.println(vdados.get(vnum));
			   break;
			
		 	case 2:
		 		  System.out.println(vnum);
		 		   break;
		 		 
		 		 case 3:
		 		  	    vdados.remove(JOptionPane.showInputDialog("Digite um valor de 0 a 5"));
		 		  	    System.out.println(vdados.remove(vnum));
                        break;
		}
		}
		 catch(NumberFormatException e)
		 {
		   JOptionPane.showMessageDialog(null,"Digite somente numero (1,2,3,4)");
		 }
		 }
	}
}

[size=“11”]
[color=“red”]

  • Editado: Aumente as chances de alguém responder o seu tópico. Use BBCode em seus códigos para mantê-los identados e mais legíveis para outros usuários. - Matheus[/color][/size] :joia:

Fala cara td bem!?

Então, na verdade você estava incluindo sim usuário no seu ArrayList acredito que você estava imprimindo errado e por isso não conseguia fazer a visualização deles…
E quanto a consulta, ai sim estava errada dei uma modificada no código, mas somente para dar uma luz a você…pra vc entender o que deve fazer!
Não olhei o excluir ok?!

Falou espero que ajude


import java.util.ArrayList;
import javax.swing.JOptionPane;

public class Ex02 {

   public static void main(String[] args) {
      ArrayList vdados = new ArrayList();
      
      int vopcao=0;
      int vnum=0;
      int consulta=0;
      String vmenu = "1- Incluir\n" +
                     "2- Consultar\n" +
                     "3- Excluir\n" +
                     "4- Sair\n" ;
   while(vopcao != 4 ){
      try
      {
           vopcao=(Integer.parseInt(JOptionPane.showInputDialog(vmenu)));
      switch(vopcao)

      {
      case 1:
            vdados.add(JOptionPane.showInputDialog("Informe o nome"));
            System.out.println(vdados);
            break;
         
          case 2:
          	   consulta=(Integer.parseInt(JOptionPane.showInputDialog("Informe qual cadastro deseja ver lembrando que os cadastros começam no 0")));
               System.out.println(vdados.get(consulta));
                break;
             
              case 3:
                      vdados.remove(JOptionPane.showInputDialog("Digite um valor de 0 a 5"));
                      System.out.println(vdados.remove(vnum));
                        break;
      }
      }
       catch(NumberFormatException e)
       {
         JOptionPane.showMessageDialog(null,"Digite somente numero (1,2,3,4)");
       }
       }
   }
} 

Dumestico

:grin: :lol:
Valeu pela força era assim mesmo que tem que funcionar, quanto ao excluir eu to me virando.

Mais uma vez Obrigado...

Opa, tamo ai pra se ajuda!

:wink:

Falou!

import java.util.ArrayList;
import javax.swing.JOptionPane;

public class Ex02 {

public static void main(String[] args) {
ArrayList vdados = new ArrayList();

  int vopcao=0; 
  int vnum=0; 
  int consulta=0; 
  String vmenu = "1- Incluir\n" + 
                 "2- Consultar\n" + 
                 "3- Excluir\n" + 
                 "4- Sair\n" ; 

while(vopcao != 4 ){
try
{
vopcao=(Integer.parseInt(JOptionPane.showInputDialog(vmenu)));
switch(vopcao)

  { 
  case 1: 
        vdados.add(JOptionPane.showInputDialog("Informe o nome")); 
        System.out.println(vdados); 
        break; 
      
      case 2: 
            consulta=(Integer.parseInt(JOptionPane.showInputDialog("Informe qual cadastro deseja ver lembrando que os cadastros começam no 0"))); 
           System.out.println(vdados.get(consulta)); 
            break; 
          
          case 3: 
                  vdados.remove(JOptionPane.showInputDialog("Informe qual cadastro deve ser excluido lembrando que os cadastros começam no 0")); 
                  System.out.println(vdados.remove(vnum)); 
                    break; 
  } 
  } 
   catch(NumberFormatException e) 
   { 
     JOptionPane.showMessageDialog(null,"Digite somente numero (1,2,3,4)"); 
   } 
   } 

}
}

Ola Eu estive tendando melhorar esse codigo (acima) no que diz respeito a menagens do tipo AVISO.

Como eu faço para dizer ao usuario que os indices que ele ira consultar não existe. Segue o codigo abaixo:

case 2:
consulta=(Integer.parseInt(JOptionPane.showInputDialog(“Informe qual cadastro deseja ver lembrando que os cadastros começam no 0”)));
System.out.println(vdados.get(consulta));
break;
Aqui o usuario ira fazer uma consulta mais se o indice que ele pesquisar, exemplo 5 não estiver no ArrayList , seria apropriado aparecer uma mensagem de aviso do Tipo: Indice não encotrado ou outra qualquer e voltar para a caixa novamente.
Para isso eu deve usar o length junto com for ou ARRAY_SIZE?

O mesmo se aplica na opção 3. Segue codigo abaixo:

case 3:
vdados.remove(JOptionPane.showInputDialog(“Digite um valor de 0 a 5”));
System.out.println(vdados.remove(vnum));
break;
Aqui o usuario ira informa qual idince deverar ser excluido. Se ele excluir todos devera aparecer uma mensagem informado que o Array está vazio, ou algo parcecido.

Gostaria de me disse qual o procedimento, se para isso deveria usar um IF ou For ou outro comando que não conheço.

FIcarei grato por qualquer luz .

Cara,

Não sou muito bom nisso, mas tenta os códigos abaixo:

Depois disso, faz isso no case 1, oh:

vdados.add(JOptionPane.showInputDialog("Informe o nome"));
System.out.println(vdados.get(vdados.size())); 

Então faz isso no case 2:

vnum = rl.readLine();
System.out.println(vdados.get(vnum));

No case 3, faz isso:

vnum = JOptionPane.showInputDialog("Digite um valor de 0 a 5")); 
if(vdados.remove(vnum))
	// Removido com sucesso!
else
	// Erro ao remover!

Qq coisa, tamu aí!
Vlw!

OHADES

Vou testar logo, logo, se não der certo não vai ter problema nehum, agradeço pela ajuda.
Obrigado mesmo.

Infleimente não funcionou a dicas citada pelo OHADES , a expressão i
f(vdados.remove(vnum)) não está sendo reconhecida e fiz refiz de outro jeito mais não deu certo.

Eu so não estou decobrindo qual variavel eu tenho que utilizar para mostrar as mensagens no case 2 e case 3.

Mais mesmo assim valeu pela ajuda, eu so queria deixar o codigo mais redondo, não é preciso dar as mensagens.
Fui

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

public class Ex02 {

public static void main(String[] args) {
ArrayList vdados = new ArrayList();

int vopcao=0;
int vnum=0;
int consulta=0;
String vmenu = “1- Incluir\n” +
“2- Consultar\n” +
“3- Excluir\n” +
“4- Sair\n” ;
while(vopcao != 4 ){
try
{
vopcao=(Integer.parseInt(JOptionPane.showInputDialog(vmenu)));
switch(vopcao)

{
case 1:
vdados.add(JOptionPane.showInputDialog(“Informe o nome”));
System.out.println(vdados);
break;

case 2:
consulta=(Integer.parseInt(JOptionPane.showInputDialog(“Informe qual cadastro deseja ver lembrando que os cadastros começam no 0”)));
System.out.println(vdados.get(consulta));
break;

case 3:
vnum=(Integer.parseInt(JOptionPane.showInputDialog(“Informe qual cadastro deve ser excluido lembrando que os cadastros começam no 0”)));
System.out.println(vdados.remove(vnum));
break;
}
}
catch(NumberFormatException e)
{
JOptionPane.showMessageDialog(null,“Digite somente numero (1,2,3,4)”);
}
catch(IndexOutOfBoundsException e)
{
JOptionPane.showMessageDialog(null,“Não existe esse elemento!”);}
}
System.exit(0);

}
}[/code]

:lol: :lol:

Ola

  [b]JavaDrops[/b] valeu pla força está ok, putis so tinha que acrecentar mais uma linha e pronto ba e eu quabrando a cabeça.

Muito obrigado a todos.

Até… :wink: