lunes, 16 de julio de 2007

Uso de la Clase Scanner

PRIMERO: Cree un proyecto denominado ArchivosConScanner, en el mismo codifique las siguientes clases:

/******************************
* File Name: TestFile.java *
* Class Name: TestFile *
* (c) Milton Labanda *
*******************************/
import java.util.Scanner;
import java.io.File;

/**
* Clase que lee datos del Archivo de texto 'persons.txt'
* y crea objetos 'Person' para luego presentarlos como tal
*/

public class TestFiles{
public static void main(String [] args){
File file = new File("persons.txt");
Scanner scanner = null;
try{
scanner = new Scanner(file);
}catch(java.io.FileNotFoundException ex){
System.out.printf("%s",ex);
}
while (scanner.hasNext()){
String id = scanner.next();
String name = scanner.next();
Integer age = scanner.nextInt();
Double weight = scanner.nextDouble();
Person person = new Person(id,name,age,weight);
System.out.printf("%s",person);

}
System.out.printf("%n");
}
}

/********************************
* File Name: Person.java *
* Class Name: Person *
* (c) Milton Labanda *
*********************************/

/**
* Encapsula los datos de una Persona
*/
class Person{
private String id; //codigo
private String name; //nombre
private Integer age; //edad
private Double weight; //peso


public Person(){
}

public Person(String id, String name, Integer age, Double weight){
this.id = id;
this.name = name;
this.age = age;
this.weight = weight;
}

public String toString(){
return String.format(" ID\t: %10s %n" +
"name\t: %10s %n" +
"age\t: %10d %n" +
"weight\t: %10.3f" +
"%n%n",id,name,age,weight);
}
}

SEGUNDO: Cree el archivo de texto 'persons.txt' en el mismo directorio que se creó 'TestFiles.java'
con el siguiente contenido (utilice eclipse o bloc de notas):

1224 Juan 25 60.79
1456 Sara 23 65.789
3456 Carlos 12 50.8

NOTA: los datos están separados con tabuladores


TERCERO: Ejecute la clase TestFiles y Conteste las siguientes preguntas :
1. Que constructor de Scanner está usando?
2. Por qué se maneja la excepción FileNotFoundException?
3. Qué hace el método nextInt() y nextDouble()?
4. Cual és el resultado si los datos de las personas en el
archivo están en una sola línea?
5. Qué sucede si los datos de una persona en el archivo
no se separan con tabulador o espacio?

T A R E A:
Tomando como referencia el ejemplo desarrollado cree un método denominado 'cargarDatos():void' en
su clase 'ListaEmpleados' del proyecto 'Rol de Pagos', el cuál permita leer datos desde un 3 archivos diferentes dnominados 'asalariados.txt', 'porhoras.txt' y 'porcomision.txt', a partir de los cuales cree los objetos 'Empleado' paral luego agregarlos a 'lista'.

NOTA: Cualquier duda o pregunta puede realizarla a través de un comentario sobre esta entrada.*/

19 comentarios:

Anónimo dijo...

testing ...

René dijo...

Ing. tenemos un problema con el deber... Lo que pasa es que no corre la primera parte, peor la segunda... nos sale un error de Excepciones: java.io.FileNotFoundException,
java.lang.NullPointerException..
ya cambiamos los puntos por comas como dijo en clases pero nada.. no sale.. que podemos hacer??... Ah tambien nos sale un mensaje que dice que no encuentra el archivo "persons.txt"...
Att. Alex R. Diana S. Alondra, Jorge T. Alcides, René, Gaby, Vero, Jeanine...
Le agradeceremos mucho nos envie la solucion al problema al correo renysh_12007@hotmail.com
Gracias....

Yazber dijo...

ingeniero le queriamos hacer una consulta sobre el deber de la clase Scanner lo que sucede es que nos sale estas excepciones
java.io.FileNotFoundException,
java.lang.NullPointerException

ademas que ya le cambiamos los puntos por comas en el archivo y se nos sigue saliendo error y que no encuentra el archivo
ATT
Vladimir Romero
JorgePinta
porfavor le pedimos que cualquier sugerencia nos envia a:
yazb_87@hotmail.com

Yazber dijo...

1. Que constructor de Scanner está usando?
El constructor que se usa es:

public Scanner(File source)
throws FileNotFoundException

2. Por qué se maneja la excepción FileNotFoundException?
Este tipo de excepciones se produce cuando no se encuentra un archivo especificado por el usuario y envia un excepcion cuando esto se produce

3. Qué hace el método nextInt() y nextDouble()?
El método nextInt() examina la siguiente entrada como un entero y devuelve un error si es diferente al tipo entero

El método nextDouble() examina la siguiente entrada como un double y devuelve un error si es diferente.

4. Cual és el resultado si los datos de las personas en el
archivo están en una sola línea?
Aparece un error porque no puede identificar la JVM el tipo de dato de cada persona

5. Qué sucede si los datos de una persona en el archivo
no se separan con tabulador o espacio?

El sistema no puede hallar el archivo especificado Exception

ATT
-Vladimir Romero
-JorgePinta
Modulo IV "D"
porfavor le pedimos que cualquier sugerencia nos envia a:
yazb_87@hotmail.com

Anónimo dijo...

Hola ingeniero queriamos hacerle conocer que tenemos el mismo problema que nuestros compañeros nos sal el mismo error que ellos incluso cuando hacemos la tarea de la clase listaDeEmpleados lo fuimos a ver a su casa por que me entere que usted es mi vecino y queriamos pedirle de favor si podemos entregar el trabajo para el jueves y que usted mañana nos ayude con ese trabajo por que estamos DESESPERADAS ayudenos no sea malito si porfa PODEMOS PERDER EL MODULO a y porfa tambien no NOS BAJARA LA NOTITA
si puede porfa respona a lis_mcl@hotmail.com
o si nos es mucha molestia lo podemos ir a ver a su casa para que nos ayude con ese problemita aviseme al 093526015
DISCULPE EL ATREVIMIENTO NO PENSARA MAL DE NOSOTRAS
ATT.
GRECIA
JHOMARA
ROSA
LIS
CORINA
NOTA:
Mañana le entragamos las preguntas por que no corre el programa entonces no sabemos como responder las ultimas preguntas.

Anónimo dijo...

Buenas noches ingeniero le saluda el grupo numero 1 del IV "A", estamos aki en mi ksa ksi medio paralelo y no sabemos como hacer la sugenda parte de la tarea q nos envio, si esta conectado en este momento x fa ayudenos,

Att:
Andrea C
Yadira P
Freddy A
Boris D
Ramiro M
.........

x fa contest a:
andeyo1987@hotmail.com

Anónimo dijo...

Buenas noches ingeniero somos el grupo 4 del IV "A", no podemos realizar la segunda parte del deber que nos envio, x favor ayudenos denos una pista como hacerlo (es la parte de los archivos).

Att;

Maria CH,
Antonieta C,
Jenny Cango
Daniel Leon
Juliana Cevallos

avisenos algo a andeyo1987@hotmail.com

Alex dijo...

Alex Yunga
1. Que constructor de Scanner está usando?
El constructor que se usa es:

public Scanner(File source)
throws FileNotFoundException.

2. Por qué se maneja la excepción FileNotFoundException?
Se coloca esta excepción para que no deje de ejecutarse el programa si no se encuentra el archivo especificado.

3. Qué hace el método nextInt() y nextDouble()?
El método nextInt en esta clase lo utilizamos para obtener la edad desde el archivo; y el método nextDouble, lo utilizamos para obtener el peso desde el archivo que enviamos al constructor de la clase Scanner.


4. Cual és el resultado si los datos de las personas en el
archivo están en una sola línea?

Si ubicamos los datos en una sola línea el scanner los ubica igual como si se encontraran como en un principio.

5. Qué sucede si los datos de una persona en el archivo
no se separan con tabulador o espacio?

Si no se separan con un espacio los datos se los tomaría a todos como un solo token y no encontraría todos los datos que queremos obtener.

Atte: Alex Yunga 4º "D"

René dijo...

DEBER PROGRAMACION
Integrantes:
Alondra Ordoñez
Diana Suquilanda
Gabriela Cruz
Veronica Soto
Jeanina Quizhpe
Jorge Tapia
Alcides Castillo
Alex Roman
René Ortega
MODULO:4° PARALELO:"D"

1. Que constructor de Scanner está usando?
public File(String pathname);

2. Por qué se maneja la excepción FileNotFoundException?
Porque es necesario que controlemos si el archivo existe, o tambien si queremos acceder a un archivo protegido por escritura.

3. Qué hace el método nextInt() y nextDouble()?
nextInt() examina el siguiente token de la entrada como un entero;
nextDouble()examina el siguiente token de la entrada como un double o decimal;

4. Cual és el resultado si los datos de las personas en el
archivo están en una sola línea?
El resultado es el mismo, no se altera nada.

5. Qué sucede si los datos de una persona en el archivo
no se separan con tabulador o espacio?*/
Se produce la excepcion java.util.InputMismatchException puesto que el separador de token en los datos es el espacio o tabulacion, sino lo lee como una sola cadena a todo.

Gracias.....

Anónimo dijo...

TRABAJO GRUPAL

Integrantes:

• Maria Chamba
• Antonieta Celdo
• Juliana Cevallos
• Jenny Cango.
• Daniel León


1. Que constructor de Scanner está usando?
El constructor que se usa es:

public Scanner(File source)
throws FileNotFoundException


2. Por qué se maneja la excepción FileNotFoundException?

Se utiliza esta excepción por que no puede ser accesible o el archivo no puede ser encontrado


3.Qué hace el método nextInt() y nextDouble()?

El método nextInt() examina la siguiente entrada como un entero y devuelve un error si es diferente al tipo entero

El método nextDouble() examina la siguiente entrada como un double y devuelve un error si es diferente.


4. Cual és el resultado si los datos de las personas en el
archivo están en una sola línea?

Solamente va ha ejecutar la primera sentencia ya que al encontrarse con el punto y coma terminaría su ejecución.


5. Qué sucede si los datos de una persona en el archivo
no se separan con tabulador o espacio?

El sistema no puede hallar el archivo especificado Exception
Ya que la clase scanner obligatoriamente necesita un tabulador o espacio para que se ejecute.



“Disculpe Ing. Esto es todo lo que tenemos sabemos que no es mucho pero es lo que entendemos apelamos a su buena voluntad y le rogamos que nos revise el jueves y nos explique mañana por favor. BENDICIONES”

Anónimo dijo...

TAREA EXTRA-CLASE

1. Que constructor de Scanner está usando?
El constructor que se usa es:

public Scanner(File source)
throws FileNotFoundException

2. Por qué se maneja la excepción FileNotFoundException?
Este tipo de excepciones se produce cuando no el archivo especificado(fila) no es encontrado.

3. Qué hace el método nextInt() y nextDouble()?
El método nextInt() examina la siguiente entrada como un entero y devuelve un error si es diferente al tipo entero y el método nextDouble() examina la siguiente entrada como un double.

4. Cual es el resultado si los datos de las personas en el
archivo están en una sola línea?
Los presenta en una sola línea sin ninguna alteración.

5. Qué sucede si los datos de una persona en el archivo
no se separan con tabulador o espacio?

El programa toma toda la cadena de caracteres como un solo token hasta encontrar un espacio y la ejecuta así.

Ing. La segunda parte no sabemos como realizar; esperamos que nos comprenda y el dia de mañana nos explique, x fa.

Att;

Andrea Cordova
Yadira Panamito
Freddy Agila
Boris Delgado
Ramiro Merchan
4to “A”

Anónimo dijo...

1. Que constructor de Scanner está usando?
Se utiliza un constructor Scanner(File source); el parámetro que recibe es
de la clase File, el constructor File(String pathname)

2. Por qué se maneja la excepción FileNotFoundException?
Se maneja para cuando el archivo (file) no se encuentra expulsa la excepción

3. Qué hace el método nextInt() y nextDouble()?
El mètodo nextInt() obtiene el siguiente token como entero
El método nextDouble() obtiene el siguiente token como double

4. Cual és el resultado si los datos de las personas en el
archivo están en una sola línea?
El resultado es el mismo o igual como estan en las tres lineas

5. Qué sucede si los datos de una persona en el archivo
no se separan con tabulador o espacio?
Expulsa una excepcion llamada java.util.InputMismatchException


Atte: Alondra Ordoñez,Diana Suquilanda, Jorge Tapia, Alcides Castillo, René Ortega, Gaby Cruz, Veronica Soto, Jeanine Quishpe, Alex Román...

Anónimo dijo...

TRABAJO GRUPAL DE PROGRAMACION

INTEGRANTES:

* GRECIA ESPINOZA
* JHOMARA LUZURIAGA
* ROSA MACAS
* LISBETH MORA
* CORINA TENECHAGUA

1. Que constructor de Scanner está usando?

File(file source)
Es el constructor que se utiliza para crear un scanner recibiendo como parámetro un archivo.

2. Por qué se maneja la excepción FileNotFoundException?

Esta excepcion se maneja cuando no se encuentra el archivo especificado en el constructor del scanner.

3. Qué hace el metodo nextInt() y nextDouble()?

Método nextInt()
Examina el siguiente token del archivo y lo reconoce como un int.

Método nextDouble()
Examina el siguiente token del archivo y lo reconoce como un double

4. Cual és el resultado si los datos de las personas en el archivo están en una sola línea?

No existe ningun cambio debido a que al presentar los datos de cada persona se lo realiza con el metodo toString de la clase Person en donde se especifica que después de presentar los datos de cada persona se da dos enter.

5. Qué sucede si los datos de una persona en el archivo no se separan con tabulador o espacio?

Aparece la siguiente excepcion java.util.InputMismatchException, debido a que solo escanea un solo String y no se puede reconocer el siguiente token.

Anónimo dijo...

Grupo 3
IV A

Integrantes:
Ramiro Jimenez
Raquel Cabrera
Jenny Imacaña
Valeria Herrera
Germania Larreategui

1. Que constructor de Scanner está usando?
Scanner(File source)
Este constructor tiene como parametro el archivo a ser escaneado

2. Por qué se maneja la excepción FileNotFoundException?
Para presentar un mensaje al momento de que no escuentre el archivo

3. Qué hace el metodo nextInt() y nextDouble()?
nextInt().- escanea el siguiente valor que sea un entero
nextDouble().- escanea el siguiente valor que tenga valores decimales

4. Cual és el resultado si los datos de las personas en el
archivo están en una sola línea?

Aparece lo mismo.

ID : 1224
name : Juan
age : 25
weight : 60,790

ID : 1456
name : Sara
age : 23
weight : 65,789

ID : 3456
name : Carlos
age : 12
weight : 50,800


5. Qué sucede si los datos de una persona en el archivo
no se separan con tabulador o espacio?
Sale la siguiente exepxión.- los datos no coinciden


Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at TestFiles.main(TestFiles.java:26)

Anónimo dijo...

GRUPO # 2.
cuarto "A".
Richard Bermeo.
Katalina Cobos.
Diana Cuenca.
Marilyn Jarmillo.
Walesca Peralta.

1. Que constructor de Scanner está usando?
Se encuentra usando el constructor que se envía parámetro el atributode la clase file.
2. Por qué se maneja la excepción FileNotFoundException?
Porque se puede estar tratando de acceder a un archivo que no existe o a un archivo inaccesible por el sistema.
3. Qué hace el método nextInt() y nextDouble()?
El método nextInt.- extrae el siguiente tocken y lo convierte a un entero de la expresión
el método nextdouble.- extrae el siguiente tocken y lo convierte a doublé de la expresión
4. Cuál es el resultado si los datos de las personas en el archivo están en una sola línea?

No se Altera el resultado porque se utiliza como separador de tockens un enter, un tabulador y un espacio.
5. Qué sucede si los datos de una persona en el archivo no se separan con tabulador o espacio?
Toma toda esa cadena de caracteres como un solo tocken hasta encontrar un separador

Anónimo dijo...

Ingeniero buenas tardes....
Puede ayudarnos con el funcionamiento del metodo System.in;
tratamos de hacer con el System.in.read() como parametro del constructor de Scanner pero no lo acepta....
Que podemos hacer en ese caso?
att.:
alex R
ALcides C
Rene O
Jeanina Q
Alondra O
Jorge T
Diana S
GAbriela C
Veronica S
Muchas Gracias......disculpe la molestia...

Anónimo dijo...

que metodo de la clase scanner captura un char?

Anónimo dijo...

para mí que LIS y sus compañeras quiere algo más que ayuda en programación...

Anónimo dijo...

Sois todos unos pedazos de mierda.
No teneis ni puta idea de java ni de ningún lenguaje de programación