Eu estou fazendo uma trabalho de faculdade onde devo armazer algumas informaçoes sobre DVDs e exibilas na tela posteriormente, no intanto esta aparecendo o seguinte erro:
<blockquote>Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 0
at Dvd.cadastraDvd(Dvd.java:81)
at TextDvd.main(TextDvd.java:12)
</blockquote>
Segue o codigo completo da classe:
//Programa armazena informações de DVDs e exibe na tela.
import java.util.Scanner;
public class Dvd
{
int x=0;
String[] titulo = new String[x];
String[] genero = new String[x];
int[] copias = new int[x];
int[] codigo = new int[x];
public void setTitulo( String[] titulo1)
{
titulo = titulo1;
}
public String[] getTitulo()
{
return titulo;
}//fim set e get
public void setGenero( String[] genero1)
{
genero = genero1;
}
public String[] getGenero()
{
return genero;
}//end set get genero
public void setCopias( int[] copias1)
{
copias = copias1;
}
public int[] getCopias()
{
return copias;
}//end set get copias
public void setCodigo( int[] codigo1)
{
codigo = codigo1;
}
public int[] getCodigo()
{
return codigo;
}//end set get codigo
public void setContador( int contador1)
{
x = contador1;
}
public int getContador()
{
return x;
}//end set get x
public void cadastraDvd()
{
Scanner input = new Scanner(System.in);
System.out.print("Quantos DVDs deseja cadastrar? ");
x = input.nextInt();
for( int j = 0 ; j < x ; j++ )
{
String[] titulo2 = new String[j];
String[] genero2 = new String[j];
int[] copias2 = new int[j];
int[] codigo2 = new int[j];
codigo2[j] = j+100;//gerando codigo do dvd
setCodigo(codigo2);//gerando codigo do dvd
System.out.print("Entre com o numero de copias que o DVD possuir: ");
copias2[j] = input.nextInt();
setCopias( copias2 );
System.out.print("Digite o título do filme: ");
titulo2[j] = input.nextLine();
setTitulo( titulo2 );
System.out.print("Escolha o nº que corresponde ao gênero do filme: ");
System.out.print("1-Ação; 2-Romance; 3-Comédia; 4-Terror ");
genero2[j] = input.nextLine();
setGenero( genero2 );
if ( genero[j] .equals("1") )
{
genero[j] = "Ação";
}
else
if ( genero[j].equals("2") )
{
genero[j] = "Romance";
}
else
if ( genero[j].equals("3") )
{
genero[j] = "Comédia";
}
else
if ( genero[j].equals("4") )
{
genero[j] = "Terror";
}
else
System.out.print("Opção Invalida. \n\n");
}//end for
}//end method cadastra dvd
public void exibeDvd()
{
for(int y =0; y<getContador(); y++)
System.out.println("Os Dvds cadastrados são:");
System.out.printf("Código: %d; Título: %s; Gênero: %s; " +
"Número de Cópias: %d \n", codigo[getContador()],
titulo[getContador()], genero[getContador()],copias[getContador()] );
}//end method exibeDvd
}//end class
classe main:
public class TextDvd {
public static void main(String[] args)
{
Dvd chamaDvd = new Dvd();
System.out.print("Dvd-Locadora \n© 2008 Minas Hacker's Informática \nVersão 1.0 \nTodos os direitos reservados" +
" \nUso exclusivo da DVD Now S/A \n\nBem-Vindo!\n\n");
chamaDvd.cadastraDvd();
chamaDvd.exibeDvd();
}
}
Estou tentado resolver mas ainda nao consegui