Fabio Donatantonio

Resta connesso

Software Developer / Adjunct Professor

Esercizio 26 – Ricerca e conteggio di parole

Scrivere e testare un programma che data una parola w ed un testo t conta il numero di occorrenze di w in t.

La classe ContaOccorrenze.java:

public class ContaOccorrenze {
	String testo;
	
	// Il costruttore inizializza il testo sul quale effettuare la ricerca
	public ContaOccorrenze(String txt){
		this.testo = txt;
	}
	
	// Il metodo conta acquisisce in input la parola da cercare
	public int conta(String parola){
		// Calcolo la lunghezza del testo e della parola
	    int lunghezza_parola = parola.length();
	    int lunghezza_testo = testo.length();
	    
	    // Definisco due variabili: un indice per il testo e un contatore
	    int indice = 0;
	    int numeroParole = 0;

	    // Fin quando l'indice del testo è valido
	    while (indice <= lunghezza_testo-lunghezza_parola){
	    	// Controllo se la substring del testo è uguale alla parola
	    	if(testo.subSequence(indice, indice+lunghezza_parola).equals(parola)){
	    		numeroParole++;
	    	}
	    	// L'indice aumenta ad ogni iterazione
	    	indice++;
	    }
	    return numeroParole;
	}
}

La classe di test ContaParola.java:

import java.util.Scanner;
public class ContaParola
{
	public static void main(String[] args)
	{
		Scanner in = new Scanner(System.in);

	    // Prendo in input un testo
	    System.out.println("Scrivi un testo: ");
	    String testo = in.nextLine();
	
	    // Prendo in input una lettera da cercare nel testo
	    System.out.println("Dammi una parola da ricercare e conteggiare: ");
	    String parola = in.nextLine();
	    
               // Istanzio l'oggetto ContaOccorrenze
	    ContaOccorrenze contatore = new ContaOccorrenze(testo);
               // Invovo il metodo che restituisce il numero di occorrenze di parola in testo
	    int occorrenze = contatore.conta(parola);
	    
	    System.out.println("La parola è presente : ");
	    System.out.println(occorrenze + " volte");
	}
}
Fabio Donatantonio

Fabio Donatantonio. Analista e sviluppatore full-stack di applicazioni web in linguaggio PHP. Professore a Contratto per le cattedre di Fondamenti di Informatica e Archivistica Digitale presso Università degli Studi eCampus. Dal 2008 curatore del sito www.donatantonio.net, da sempre appassionato di programmazione, mare, sigari e... musica.

Leave a reply

Your email address will not be published. Required fields are marked *

 

Didattica

Università degli Studi eCampus
Data Evento
09/02/2021
14:30
Esame Archivistica Digitale e Informatica per le Scienze Umane - Cds Letteratura, Lingua e Cultura Italiana - Lettere
09/02/2021
14:30
Esame Introduzione all'Archivistica Digitale e all'Informatica per le Scienze Umane - Cds Letteratura, Arte, Musica e Spettacolo - Lettere
09/02/2021
17:30
Esame Abilità Informatiche e Telematiche - Cds Design e Discipline della Moda - Lettere
09/02/2021
17:30
Esame Abilità Informatiche e Telematiche - Cds Letteratura, Arte, Musica e Spettacolo - Lettere
Risorse
Guida HTML/CSS per principianti (link)
Introduzione agli ipertesti (link)
Esercizi guidati in Java (link)
Intelligenza artificiale (link)
Libri
Fondamenti di Informatica (2011) (link)
Informatica per le Scienze Umane (2011) (link)
Fondamenti di Informatica (2014) (link)
Pagina Docente
uniecampus.it - Scheda Docente (link)
Contatti
fabio.donatantonio[at]uniecampus.it

JWhisper, sviluppato presso il Dipartimento di Informatica Applicata dell'Università degli Studi di Salerno:

Stay Connected

Twitter

Le mie foto

Foto di Fabio Donatantonio
×