Componente text
Enunt
interface componentaText{
int numarAparitii(String cuvant);
}
class Cuvant implements componentaText{
private String cuvant;
public Cuvant(String cuvant){
this.cuvant=cuvant;
}
public int numarAparitii(String cuvant){
if(this.cuvant.equals(cuvant))
return 1;
else
return 0;
}
}
class Tabel implements componentaText{
private Cuvant[] cuvinte;
public Tabel(Cuvant[] cuvant){
this.cuvinte=new Cuvant[cuvant.length];
for(int i=0;i<cuvant.length;i++)
if(cuvant[i]!=null)
this.cuvinte[i]=cuvant[i];
}
public int numarAparitii(String cuvant){
int s=0;
for(int i=0;i<cuvinte.length;i++){
s=s+this.cuvinte[i].numarAparitii(cuvant);
}
return s;
}
}
class Selectie implements componentaText{
private static final int nrMaximComponente=100;
private componentaText[] componente;
private int nrComponente=0;
public Selectie(){
componente=new componentaText[nrMaximComponente];
}
public void adaugaComponenta(componentaText componenta){
if(nrComponente==nrMaximComponente){
System.out.println("Numarul maxim de componente a fost deja atins");
}
else{
componente[nrComponente]=componenta;
nrComponente++;
}
}
public int numarAparitii(String cuvant){
int s=0;
for(int i=0;i<nrComponente;i++)
s=s+this.componente[i].numarAparitii(cuvant);
return s;
}
}
public class Main {
public static void main(String[] args) {
Cuvant[] cuvinte=new Cuvant[]{new Cuvant("Hello"), new Cuvant("world"),new Cuvant("!"),new Cuvant("Hello")};
componentaText componenta=new Tabel(cuvinte);
Selectie selectie=new Selectie();
selectie.adaugaComponenta(componenta);
System.out.println(selectie.numarAparitii("Hello"));
System.out.println(selectie.numarAparitii("world"));
}
}