Guarda non sto cercando che qualcuno mi faccia l esercizio anche perchè questa è solo una parte di quello che devo fare...... e non sono al mare come credi tu .....io lavoro !!!
cmq io delle prove prove di codice le avevo già fatte tipo questa :
private ArrayList<String> list;
public RicercaParole(String mParola){
mParolaData = mParola;
}
private boolean eChiave(){
char[] s = null;
for(int i =0 ; i < mParolaData.length();i++){
if(Character.isUpperCase(s[i]))
return true;
}
return false;
}
private boolean eLettera(){
char[] s = null;
for(int i =0 ; i < mParolaData.length();i++){
if(Character.isLowerCase(s[i]))
return true;
}
return false;
}
// public List<String> cercaParole(List<String> parola){
}
o questa
protected String mParolaData;
private Node strutturaParola;
private class Node{
char key;
char letter;
Node next , prev ;
public Node(char key, char letter) throws InvalidKeyException{
if( Character.isUpperCase(key)){
this.key = key;
}else{
throw new InvalidKeyException();
}
if(Character.isLowerCase(letter)){
this.letter = letter;
}
next = prev = null ;
}
}
public void insert(char e,char k) throws InvalidKeyException{
if(this.isEmpty()){
Node p = new Node(e,k);
p.next = p.prev = p;
strutturaParola = p;
}
else{
Node p = new Node(e,k);
p.prev = strutturaParola;
p.next = strutturaParola.next;
strutturaParola.next = p;
strutturaParola.next.prev = p;
}
}
private boolean isEmpty(){
return (strutturaParola==null);
}
}
in questa il confronto l ho messo nel costruttore e poi il ciclo lo metterei nel main per confrontare i vari caratteri ma qualcosa non funziona in questi due codici in effetti .
Come mi hai suggerito tu @migliorabile non capisco come fare il passaggio
if t[i] non nel dizionario d
d[t[i]] = s[i]
il d[t[]] non capisco