public int generarGolesAleatorios(){ Random ra=new Random(); int gol=ra.nextInt(); gol=gol<0?gol*(-1):gol; gol=gol%6; goles=gol; return goles; }
data structures site, Sitio donde publicaré mis avances de estructuras de datos, colas, pilas, alboles, grafos, tree, stack, queue, graph, también la programación en java, novedades, ejercicios que he desarrollado.
Búsqueda por palabras claves
No se olviden de consultar por palabras claves!
Ejemplo de Estructura de datos en java, tutorial de estructura de datos
Búsqueda personalizada
miércoles, 22 de junio de 2016
Generación de datos aleatorios en java.
lunes, 23 de noviembre de 2015
Lectura de archivos java y pasar a una Lista Simplemente enlazada
Ejemplo de lectura de archivos y Lista Simples
En este ejemplo se muestra cómo realizar la lectura de datos desde un archivo, cada línea del archivo contiene campos que se encuentran separados por un caracter especial, una vez que se lee la línea se debe separar cada uno de las palabras y pasarlos a ser almacenados en una Lista simplemente enlazada que va creciendo dinámicamente.
Crear en Eclipse un nuevo proyecto de java, en mi caso LecturaArchivo. A continuación se presenta la imagen del proyecto.
Para esta clase vamos a crear cuatro métodos principales el agregarNodoFinal la cual se encarga de ir creando un nodo dinámicamente al final de la lista, la cual contiene una palabra leida desde el fichero. El segundo método es imprimir la lista en pantalla para verificar que se guardó la información en la lista simple. Un tercer método que se va encargar de leer un archivo que se le pasa el path/ubicación por parámetro y lo que hace es ir leyendo linea a linea y en un texto auxiliar se va acumulando los Strings, Finalmente se separan el texto auxiliar que tiene acumulado todo el texto del fichero y se separa cada una de las palabras.
En este ejemplo se muestra cómo realizar la lectura de datos desde un archivo, cada línea del archivo contiene campos que se encuentran separados por un caracter especial, una vez que se lee la línea se debe separar cada uno de las palabras y pasarlos a ser almacenados en una Lista simplemente enlazada que va creciendo dinámicamente.
Crear en Eclipse un nuevo proyecto de java, en mi caso LecturaArchivo. A continuación se presenta la imagen del proyecto.
En un archivo de texto voy a tener el siguiente contenido:
Crear la Clase Nodo
public class Nodo { private String palabra; private Nodo siguiente; public Nodo(String palabra, Nodo siguiente) { super(); this.palabra = palabra; this.siguiente = siguiente; } public String getPalabra() { return palabra; } public void setPalabra(String palabra) { this.palabra = palabra; } public Nodo getSiguiente() { return siguiente; } public void setSiguiente(Nodo siguiente) { this.siguiente = siguiente; } }Crear la Clase Lista
Para esta clase vamos a crear cuatro métodos principales el agregarNodoFinal la cual se encarga de ir creando un nodo dinámicamente al final de la lista, la cual contiene una palabra leida desde el fichero. El segundo método es imprimir la lista en pantalla para verificar que se guardó la información en la lista simple. Un tercer método que se va encargar de leer un archivo que se le pasa el path/ubicación por parámetro y lo que hace es ir leyendo linea a linea y en un texto auxiliar se va acumulando los Strings, Finalmente se separan el texto auxiliar que tiene acumulado todo el texto del fichero y se separa cada una de las palabras.
import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.StringTokenizer; public class Lista { Nodo inicio; Nodo fin; public Lista() { inicio=fin=null; } public void agregarNodoFinal(String dato){ Nodo nuevo=new Nodo(dato,null); if(inicio==null){ inicio=fin=nuevo; }else{ fin.setSiguiente(nuevo); fin=nuevo; } } public void imprimir(){ Nodo aux=inicio; while(aux!=null){ System.out.println(aux.getPalabra()); aux=aux.getSiguiente(); } } public String leerArchivo(String path){ String total=""; try { FileReader fr=new FileReader(new File(path)); BufferedReader br=new BufferedReader(fr); String linea=""; while( (linea=br.readLine())!=null){ total=total+linea+"\n"; } } catch (FileNotFoundException e) { // TODO Auto-generated catch block System.out.println("Problemas de archivo: "+e.getMessage()); } catch (IOException e) { // TODO Auto-generated catch block System.out.println("Problemas en la lectura del archivo: "+e.getMessage()); } return total; } public Lista separar(String total){ System.out.println(total); Lista coleccion=new Lista(); StringTokenizer st = new StringTokenizer(total, " \n,"); while (st.hasMoreTokens()) { String palabra = st.nextToken(); coleccion.agregarNodoFinal(palabra); } return coleccion; } }La clase Principal (Lectura) consta del siguiente código:
public class Lectura { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Lista inform=new Lista(); String total=inform.leerArchivo("texto.txt"); Lista resultado=inform.separar(total); resultado.imprimir(); } }
Suscribirse a:
Entradas (Atom)