Inicializar vector
Saludos... Eh el problema que tengo es que me dice que un vector no ha sido inicializado, pero no es así, o al menos eso creo... A continuación pongo el código, ¿a ver si me puede decir que es lo que hago mal?... El error lo marca en el case 2 en la line 78, cuando trato de comparar la variable borrado con listado[x]... Y cuando trato de mandar a imprimir listado[x] en el Case 3 en la linea 94
import java.io.*;
public class menu
{
public static void main (String[] args) throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int op=0, cont=0, band=0, tam=0, x=0, dato=0, i=0, c=0, temp=0, llena=0, valor=0, borrar=0, x2=0;
int[] listado;
do
{
System.out.println("1. Llenado ");
System.out.println("2. Borrado ");
System.out.println("3. Impresion ");
System.out.println("4. Salir ");
System.out.print("Elija Opcion: ");
op=Integer.parseInt(br.readLine());
switch(op)
{
case 1:
if(band==0)
{
System.out.print("Tama�o de lista: ");
tam=Integer.parseInt(br.readLine());
band=1;
}
if (llena==1)
{
System.out.println("Lista llena ");
}
if((band==1) && (llena==0))
{
do
{
listado=new int[tam];
System.out.print("Ingrese valor: ");
listado[x]=Integer.parseInt(br.readLine());
valor=1;
if (x!=0)
{
for(i=0;i<c;i++)
{
if (listado>listado[x])
{
temp=listado;
listado=listado[x];
listado[x]=temp;
}
}
}
x=x+1;
c=c+1;
if(c==tam)
{
System.out.println("Lista Llena ");
llena=1;
}
else
{
System.out.print("Desea ingresar otro dato [1=S/N=2]: ");
dato=Integer.parseInt(br.readLine());
}
}while((c<tam) && (dato==1));
}
break;
case 2:
if (valor==0)
{
System.out.println("No hay valores a imprimir");
}
else
{
System.out.print("Ingrese Dato a borrar: ");
borrar=Integer.parseInt(br.readLine());
for(x=0;x<c;x++)
{
x2=x2+1;
if(borrar==listado[x])
{
listado[x]=listado[x2];
}
}
}
break;
case 3:
if (valor==0)
{
System.out.println("No hay valores a imprimir");
}
else
{
for(x=0;x<c;x++)
{
System.out.println(+listado[x]);
}
}
break;
}
if(op<4)
{
System.out.print("Continuar 1=Si/2=No: ");
cont=Integer.parseInt(br.readLine());
}
else
{
cont=2;
}
}while((op!=4) && (cont==1));
}
}
import java.io.*;
public class menu
{
public static void main (String[] args) throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int op=0, cont=0, band=0, tam=0, x=0, dato=0, i=0, c=0, temp=0, llena=0, valor=0, borrar=0, x2=0;
int[] listado;
do
{
System.out.println("1. Llenado ");
System.out.println("2. Borrado ");
System.out.println("3. Impresion ");
System.out.println("4. Salir ");
System.out.print("Elija Opcion: ");
op=Integer.parseInt(br.readLine());
switch(op)
{
case 1:
if(band==0)
{
System.out.print("Tama�o de lista: ");
tam=Integer.parseInt(br.readLine());
band=1;
}
if (llena==1)
{
System.out.println("Lista llena ");
}
if((band==1) && (llena==0))
{
do
{
listado=new int[tam];
System.out.print("Ingrese valor: ");
listado[x]=Integer.parseInt(br.readLine());
valor=1;
if (x!=0)
{
for(i=0;i<c;i++)
{
if (listado>listado[x])
{
temp=listado;
listado=listado[x];
listado[x]=temp;
}
}
}
x=x+1;
c=c+1;
if(c==tam)
{
System.out.println("Lista Llena ");
llena=1;
}
else
{
System.out.print("Desea ingresar otro dato [1=S/N=2]: ");
dato=Integer.parseInt(br.readLine());
}
}while((c<tam) && (dato==1));
}
break;
case 2:
if (valor==0)
{
System.out.println("No hay valores a imprimir");
}
else
{
System.out.print("Ingrese Dato a borrar: ");
borrar=Integer.parseInt(br.readLine());
for(x=0;x<c;x++)
{
x2=x2+1;
if(borrar==listado[x])
{
listado[x]=listado[x2];
}
}
}
break;
case 3:
if (valor==0)
{
System.out.println("No hay valores a imprimir");
}
else
{
for(x=0;x<c;x++)
{
System.out.println(+listado[x]);
}
}
break;
}
if(op<4)
{
System.out.print("Continuar 1=Si/2=No: ");
cont=Integer.parseInt(br.readLine());
}
else
{
cont=2;
}
}while((op!=4) && (cont==1));
}
}
1 respuesta
Respuesta de krlosnow