Insertar en arrays
Hola:
Por favor, ¿podéis indicarme por qué no puedo insertar en los arrays especificados? Se trata de insertar por teclado 5 elementos en cada array y mostrarlos por pantalla (bucles while).
Mil gracias.
--------------------------------
import java.io.*;
public class IntroDept {
public static void main(String args[])throws IOException{
//declaramos los arrays
String nombre_empresa[] = new String[5];
String direcciones[] = new String[5];
//Creación del flujo para leer datos
InputStreamReader isr=new InputStreamReader(System.in);
//Creación del filtro para optimizar la lectura de datos
BufferedReader br=new BufferedReader(isr);
//rellenamos cada uno de los arrays
for (int i=1;i<5;i++)
{
System.out.print("Teclea los nombres de las empresas: ");
//Lectura de datos mediante el método readLine()
String texto1=br.readLine();
nombre_empresa[i]=new String ("texto1");
}
for (int j=0;j<5;j++)
{
System.out.print("Teclea la direccion: ");
String texto2=br.readLine();
direcciones[j]=new String ("texto2");
}
//Mostramos los elementos de cada array por pantalla
/*while (k<nombre_empresa.lenght)
{
System.out.println( "Elemento " + k + ": " + nombre_empresa[k]);
k++;
}
while (m<=nombre_empresa.lenght)
{
System.out.println( "Elemento " + m + ": " + direccion[m]);
m++;
}
Por favor, ¿podéis indicarme por qué no puedo insertar en los arrays especificados? Se trata de insertar por teclado 5 elementos en cada array y mostrarlos por pantalla (bucles while).
Mil gracias.
--------------------------------
import java.io.*;
public class IntroDept {
public static void main(String args[])throws IOException{
//declaramos los arrays
String nombre_empresa[] = new String[5];
String direcciones[] = new String[5];
//Creación del flujo para leer datos
InputStreamReader isr=new InputStreamReader(System.in);
//Creación del filtro para optimizar la lectura de datos
BufferedReader br=new BufferedReader(isr);
//rellenamos cada uno de los arrays
for (int i=1;i<5;i++)
{
System.out.print("Teclea los nombres de las empresas: ");
//Lectura de datos mediante el método readLine()
String texto1=br.readLine();
nombre_empresa[i]=new String ("texto1");
}
for (int j=0;j<5;j++)
{
System.out.print("Teclea la direccion: ");
String texto2=br.readLine();
direcciones[j]=new String ("texto2");
}
//Mostramos los elementos de cada array por pantalla
/*while (k<nombre_empresa.lenght)
{
System.out.println( "Elemento " + k + ": " + nombre_empresa[k]);
k++;
}
while (m<=nombre_empresa.lenght)
{
System.out.println( "Elemento " + m + ": " + direccion[m]);
m++;
}
en vez de usar esos arrays usa mejor un ArrayList.. entonces seria
ArrayList nombre_empresa = new ArrayList();
y cuando ingreses un dato
nombre_empresa.add(texto1);
al sacar el dato, tienes q castearlo
String sacaDato = ((String)(nombre_empresa.get(posicion)));
ArrayList nombre_empresa = new ArrayList();
y cuando ingreses un dato
nombre_empresa.add(texto1);
al sacar el dato, tienes q castearlo
String sacaDato = ((String)(nombre_empresa.get(posicion)));
hola de nuevo,
al final he conseguido con el arraylist introducir los datos pero si introduzco en el código las instrucciones para sacar los datos, me pega el siguiente casque al introducir el segundo dato:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size:
1
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at IntroDept.main(IntroDept.java:29)
¿Podeis echarle un vistazo.
Gracias.
import java.io.*;
import java.util.ArrayList;
public class IntroDept {
public static void main(String args[])throws IOException{
//declaramos los arrays
ArrayList nombre_empresa = new ArrayList();
ArrayList direcciones = new ArrayList();
//Creación del flujo para leer datos
InputStreamReader isr=new InputStreamReader(System.in);
//Creación del filtro para optimizar la lectura de datos
BufferedReader br=new BufferedReader(isr);
//rellenamos cada uno de los arraylists
for (int i=1;i<=4;i++)
{
System.out.print("Teclea los nombres de las empresas: ");
//Lectura de datos mediante el método readLine()
String texto1=br.readLine();
nombre_empresa.add(texto1);
String sacaDato = ((String)(nombre_empresa.get(i)));
System.out.print("Lista de direcciones: " + sacaDato);
}
for (int j=0;j<=4;j++)
{
System.out.print("Teclea la direccion: ");
String texto2=br.readLine();
direcciones.add(texto2);
String sacaDato2 = ((String)(direcciones.get(j)));
System.out.print("Lista de empresas: " + sacaDato2);
}
}
}
al final he conseguido con el arraylist introducir los datos pero si introduzco en el código las instrucciones para sacar los datos, me pega el siguiente casque al introducir el segundo dato:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size:
1
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at IntroDept.main(IntroDept.java:29)
¿Podeis echarle un vistazo.
Gracias.
import java.io.*;
import java.util.ArrayList;
public class IntroDept {
public static void main(String args[])throws IOException{
//declaramos los arrays
ArrayList nombre_empresa = new ArrayList();
ArrayList direcciones = new ArrayList();
//Creación del flujo para leer datos
InputStreamReader isr=new InputStreamReader(System.in);
//Creación del filtro para optimizar la lectura de datos
BufferedReader br=new BufferedReader(isr);
//rellenamos cada uno de los arraylists
for (int i=1;i<=4;i++)
{
System.out.print("Teclea los nombres de las empresas: ");
//Lectura de datos mediante el método readLine()
String texto1=br.readLine();
nombre_empresa.add(texto1);
String sacaDato = ((String)(nombre_empresa.get(i)));
System.out.print("Lista de direcciones: " + sacaDato);
}
for (int j=0;j<=4;j++)
{
System.out.print("Teclea la direccion: ");
String texto2=br.readLine();
direcciones.add(texto2);
String sacaDato2 = ((String)(direcciones.get(j)));
System.out.print("Lista de empresas: " + sacaDato2);
}
}
}