a) Una función "quantes_linies" que recibirá el nombre del archivo de texto y nos encontrará cuantas lineas contiene el archivo.
b) Una función "quants_numeros" que recibirá el nombre del archivo de texto y nos encontrará cuantos números (sólo números sin letra) contiene el archivo.
c) Una función "quants_signes" que recibirá el nombre del archivo de texto y nos encontrará cuantas palabras contienen guión o apóstrofe. Si contiene los dos signos contará doble.
CUENTA! Puede reaprovechar las funciones / acciones que sean necesarias.
Por ejemplo, si suponemos que el archivo se encuentra en "c: \ temp \ archivo.txt" y contiene:
Una vez rellenado y enviado el formulario electrónico de suscripción se le comunicará un nombre de usuario y una contraseña (por ejemplo 12345) que permite el acceso al Archivo. La suscripción se activará después de haberse ingresado el importe de la suscripción a la cuenta corriente que se le facilitará junto con la clave de acceso.
Los resultados serían:
El archivo contiene 4 linea / as.
El archivo contiene 1 número / s.
El archivo contiene 7 signos (apóstrofe + guión).
- import java.io.*;
- import java.util.*;
- import java.util.StringTokenizer;
- import cs1.Keyboard;
- public class Mes_Paraules {
- public static String Reader (String arxiu) {
- int i = 1, num_lletres; String s = "";
- BufferedReader entrada;
- boolean error = false;;
- try {
- String info = "";
- FileReader fr = new FileReader(arxiu); // Ruta logica de l'arxiu que volem llegir
- entrada = new BufferedReader(fr);
- while((s = entrada.readLine()) != null) // Mentre trobi linees en l'arxiu
- {
- info = info + s;
- System.out.println(s);
- }
- entrada.close();
- return(info);
- }
- catch(java.io.FileNotFoundException fnfex) {
- System.out.println("Arxiu no trobat: " + fnfex);}
- catch(java.io.IOException ioex) {}
- return"";
- }
- public static int conta_linies(String ruta_arxiu){
- BufferedReader fitxer;
- String linia="", missatge="";
- int i;
- try{
- FileReader fr = new FileReader(ruta_arxiu);
- fitxer = new BufferedReader(fr);
- linia = fitxer.readLine();
- i=0;
- while (linia != null){
- i++;
- linia = fitxer.readLine();
- }
- return i;
- }
- catch(java.io.FileNotFoundException fnfex){
- System.out.println("Arxiu no trobat: " + fnfex);
- return (0);
- }
- catch(java.io.IOException ioex) {
- return (0);
- }
- }
- public static int NumPalabras ( String frase ) {
- String word;
- StringTokenizer tokenizer;
- int wordCount=0;
- tokenizer = new StringTokenizer (frase,"1234567890");
- while (tokenizer.hasMoreTokens())
- {
- word = tokenizer.nextToken();
- if (word.length()<frase.length()) wordCount++;
- }
- return (wordCount-1);
- }
- public static int NumSignes ( String frase ) {
- String word;
- StringTokenizer tokenizer;
- int wordCount=0;
- tokenizer = new StringTokenizer (frase,"''-\"");
- while (tokenizer.hasMoreTokens())
- {
- word = tokenizer.nextToken();
- if (word.length()<frase.length()) wordCount++;
- }
- return (wordCount-1);
- }
- public static int NumPalabras2 ( String frase ) {
- String word;
- StringTokenizer tokenizer;
- int wordCount=0;
- tokenizer = new StringTokenizer (frase);
- while (tokenizer.hasMoreTokens())
- {
- word = tokenizer.nextToken();
- if (word.length()<frase.length()) wordCount++;
- }
- return (wordCount);
- }
- public static int EncuentraPalabra ( String frase)
- {
- String palabra="";
- StringTokenizer tokenizer;
- int wordCount=0;
- tokenizer = new StringTokenizer (frase);
- while (tokenizer.hasMoreTokens())
- {
- //Coge primera, buclea, segunda, buclea
- String palabra2;
- palabra2 = palabra;
- int num_pal = NumPalabras2(frase); //numero de palabras en total
- for (int i=0;i<num_pal;) {
- palabra = tokenizer.nextToken();
- if (palabra2.equals(palabra))
- wordCount++;
- i++;
- }
- }
- return (wordCount);
- }
- public static void main (String args [])
- {
- String texto = "c:\\temp\\fitxer.txt", texto2="";
- texto2=Reader(texto);
- System.out.println("\nL'arxiu conté "+conta_linies(texto)+" linia/es");
- System.out.println("L'arxiu conté "+NumPalabras(texto2)+" número/s");
- System.out.println("L'arxiu conté "+NumSignes(texto2)+" signes (apòstrof + guionet)");
- }}
No hay comentarios:
Publicar un comentario