Leerá cada línea del poema usando un Buffer y contar vocales y consonantes
Publicado por arnau (3 intervenciones) el 31/05/2020 19:00:28
Tengo un ejercicio que se me resiste.
No hay manera de que me salga el ejercicio, es este:
(Dado un archivo plano “raíz://poema.txt” que contiene este poema de Antonio Machado:
(raíz debería ser , si se puede, preferentemente D:/ ó F/):
Caminante, son tus huellas
el camino y nada más;
Caminante, no hay camino,
se hace camino al andar.
Al andar se hace el camino,
y al volver la vista atrás
se ve la senda que nunca
se ha de volver a pisar.
Caminante no hay camino
sino estelas en la mar.
Leerá cada línea del poema usando un Buffer y indicará en dos ficheros (raíz://vocales.txt y raíz://consonantes.txt) cuantas hay de cada vocal y de cada consonante usando 5 líneas para vocales del primer fichero y 26 líneas de consonantes (¿incluyendo vocales?) del segundo fichero, aparecerán también aquellas vocales o consonantes que valgan CERO.)
Este es mi codigo:
No hay manera de que me salga el ejercicio, es este:
(Dado un archivo plano “raíz://poema.txt” que contiene este poema de Antonio Machado:
(raíz debería ser , si se puede, preferentemente D:/ ó F/):
Caminante, son tus huellas
el camino y nada más;
Caminante, no hay camino,
se hace camino al andar.
Al andar se hace el camino,
y al volver la vista atrás
se ve la senda que nunca
se ha de volver a pisar.
Caminante no hay camino
sino estelas en la mar.
Leerá cada línea del poema usando un Buffer y indicará en dos ficheros (raíz://vocales.txt y raíz://consonantes.txt) cuantas hay de cada vocal y de cada consonante usando 5 líneas para vocales del primer fichero y 26 líneas de consonantes (¿incluyendo vocales?) del segundo fichero, aparecerán también aquellas vocales o consonantes que valgan CERO.)
Este es mi codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class lecturaficheroplano {
public static void main(String[] args) {
File archivo = new File ("F://poema.txt");
File archivo_d = new File ("F://poema2.txt");
FileReader fr = null;
FileWriter fw = null;
try {
fw = new FileWriter(archivo_d);
} catch (IOException ex) {
System.out.println("error");
}
try {
fr = new FileReader (archivo);
} catch (FileNotFoundException ex) {
System.out.println("Pringao!!!, no existe el archivo");
}
BufferedReader bk = new BufferedReader(fr);
BufferedWriter bkw = new BufferedWriter(fw);
String lk = "";
int lml = 0; //Número de la línea más larga
int tml = 0; //Tamaño de la línea más larga
int lme = 0; //Línea en la que me encuentro (leyendo)
int contablancos = 0;
while (lk !=null)
{
try {
lk = bk.readLine();
lme++; //incrementamos el número de líneas leidas
if (lk !=null)
{
lk = lk.replaceAll("[a|e|i|o|u]", "");
//Eliminar todas las vocales
//Negar el patrón y eliminar las consonantes.
for (int i=0; i < lk.length();i++)
{
if (lk.charAt(i)== ' ')
contablancos++;
}
}
{
if (lk.length() > tml) //Si la línea leida es más larga
{
tml = lk.length(); //Tomo nota de la nueva longitud
lml = lme; //En qué línea me encontré este tamaño
}
}
if (lk != null)
{
bkw.write(lk);
bkw.newLine();
}
//String a manipular, contenidos de la unidad formativa 1
if (lk !=null) System.out.println(lk);
} catch (IOException ex) {
System.out.println("No puedo leer del fichero");
}
}
System.out.println("La línea más larga es " + lml);
try {
bkw.flush();
fw.close();
} catch (IOException ex) {
System.out.println("Error");
}
}
}
Valora esta pregunta


0