Problema com a opção excluir

amigos…

segue o código abaixo:

import java.io.*;
import java.util.Hashtable;

public class Agenda
{
	public static void main(String []args)
	{
		try
	    {
		
		Hashtable name = new Hashtable();
    	
		boolean l = true;

		int timer = 0;

		int opcao = 0;
		String palavra;
		System.out.println("Trabalho do dia 10/07/2006");
		System.out.println("");
		do
		{
		 System.out.println("Escolha uma opcao abaixo:");
		 System.out.println("\n");
		 System.out.println("1 - Incluir");
		 System.out.println("2 - Alterar");
		 System.out.println("3 - Excluir");
		 System.out.println("4 - Consultar");
		 System.out.println("5 - Listar");
		 System.out.println("6 - Gravar");
		 System.out.println("7 - Sair");
		   try
		      {
		       BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		       palavra = br.readLine();
		       opcao = Integer.parseInt(palavra);
		      }
		       catch(Exception e)
		       {
			System.out.println("opcao invalida");
		       }
			System.out.println("\n");
			switch (opcao)
			{
			 case 1:
		                try
		                {
				System.out.println("Digite um nome para ser cadastrado:");
				BufferedReader captura = new BufferedReader(new InputStreamReader(System.in));
				palavra = captura.readLine();
					
				name.put(new Integer(timer++), palavra);

				}
				 catch(Exception e)
				{
				 System.out.println("opcao invalida");
				}
				 break;
			 case 2:

				break;

			 case 3:
                                System.out.println("Digite a posição:"); 
                                BufferedReader captura = new BufferedReader(new InputStreamReader(System.in));
                                String posicao = captura.readLine(); 
                                String delete(captura.readLine()); 
				break;
  
			 case 4:
                                System.out.println("Digite a posição:"); 
                                BufferedReader captura = new BufferedReader(new InputStreamReader(System.in));
                                String posicao = captura.readLine();   
                                System.out.println("Posicao: " + posicao + name.get(new Integer(posicao)));
				break; 

			 case 5:
				try
				{
					for (int i = 0; i <= name.size()-1; i++)
					{
						System.out.println("Posicao: "+i+" " + (String)name.get(new Integer(i))+"\n");
					}
				}catch(Exception e)
				{
					System.out.println("dado nao cadastrado na agenda");
				}


				break;

			 case 6:


				break;
			 case 7:
				l = false;
				break;
			 default: System.out.println("Opcao Invalida");
			}
		}while(l);
		}
		catch(Exception e)
		{
			e.printStackTrace();
}
}
}

as opções incluir, listar e alterar funcionam normalmente. O grande problema é na opção excluir nomes:

                                System.out.println("Digite a posição:"); 
                                BufferedReader captura = new BufferedReader(new InputStreamReader(System.in));
                                String posicao = captura.readLine(); 
                                String delete(captura.readLine()); 
				break;

o que falta nesse trecho de código para que eu consiga excluir um nome digitando apenas a posição que o mesmo se encontra?

usando uma hashtable ele nao marca pela posição, e sim pela chave. Voce tem que usar o método do objeto Hashtable. Esse link abaixo é da api da classe hashtable

http://java.sun.com/j2se/1.4.2/docs/api/java/util/Hashtable.html

você vai notar que ele tem um método remove

http://java.sun.com/j2se/1.4.2/docs/api/java/util/Hashtable.html#remove(java.lang.Object)

que atravez da chave que você passa ele remove o conteudo.

olha só, consegui fazer a rotina de excluir, o programa tá compilando, mas apareceu um problema:

  • depois de excluir um nome, eu cliquei em incluir nome e depois em listar os nomes, só que não apareceu esse novo nome na tela. onde está o erro?
import java.io.*;
import java.util.Hashtable;

public class Agenda
{
	public static void main(String []args)
	{
		try
	    {
		
		Hashtable name = new Hashtable();
    	
		boolean l = true;

		int timer = 0;

		int opcao = 0;
		String palavra;
		System.out.println("Trabalho do dia 10/07/2006");
		System.out.println("");
		do
		{
		 System.out.println("Escolha uma opcao abaixo:");
		 System.out.println("\n");
		 System.out.println("1 - Incluir");
		 System.out.println("2 - Alterar");
		 System.out.println("3 - Consultar");
		 System.out.println("4 - Listar");
		 System.out.println("5 - Excluir");
		 System.out.println("6 - Gravar");
		 System.out.println("7 - Sair");
		   try
		      {
		       BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		       palavra = br.readLine();
		       opcao = Integer.parseInt(palavra);
		      }
		       catch(Exception e)
		       {
			System.out.println("opcao invalida");
		       }
			System.out.println("\n");
			switch (opcao)
			{
			 case 1:
		                try
		                {
				System.out.println("Digite um nome para ser cadastrado:");
				BufferedReader captura = new BufferedReader(new InputStreamReader(System.in));
				palavra = captura.readLine();
					
				name.put(new Integer(timer++), palavra);

				}
				 catch(Exception e)
				{
				 System.out.println("opcao invalida");
				}
				 break;
			 case 2:

				break;


			 case 3:
                                System.out.println("Digite a posição:"); 
                                BufferedReader captura = new BufferedReader(new InputStreamReader(System.in));
                                String posicao = captura.readLine();   
                                System.out.println("Posicao: " + posicao + name.get(new Integer(posicao)));
				break;

			 case 4:
				try
				{
					for (int i = 0; i <= name.size()-1; i++)
					{
						System.out.println("Posicao: "+i+" " + (String)name.get(new Integer(i))+"\n");
					}
				}catch(Exception e)
				{
					System.out.println("dado nao cadastrado na agenda");
				}


				break;

			 case 5:
				System.out.println("Digite uma posição:");
				BufferedReader remove = new BufferedReader(new InputStreamReader(System.in));
				posicao = remove.readLine();
                                System.out.println("Posicao: " + posicao + name.remove(new Integer(posicao)));

				 break;

			 case 6:

				break;

			 case 7:
				l = false;
				break;
			 default: System.out.println("Opcao Invalida");
			}
		}while(l);
		}
		catch(Exception e)
		{
			e.printStackTrace();
}
}
}