O código abaixo exibe erro pq o for com 2 condições de parada não funciona
public static void main(String[] Args){
String A = "a1b2c3d44v";
List <String> l = new ArrayList<String>();
l.add("b2c3d45");
l.add("id21a1b4c3d24");
l.add("d1a45b2d41vg");
System.out.println(moreLike(A,l));
}
public static String moreLike(String s, List <String> l){
String resp = "";
int erro = 0;
int erro_aux = 100;
int erro_total = 0;
int j = 0;
int min = getNumber(s.length(),70);//70 porcentagem da menor estrutura a ser análisada
int max = getNumber(s.length(),170);//170 porcentagem da maior estrutura a ser análisada
for (int h=0;h<l.size();h++){
if ((l.get(h).length()>=min)&&(l.get(h).length()<=max)){
if (l.get(h).length()>s.length()){
for (int i = 0;(i<l.get(h).length()-1)||(j<s.length()-1); i++){// ((i < (l.get(h).length()-1))||(j<(s.length()-1)))
JOptionPane.showMessageDialog(null, (s.length()-1)+" "+l.get(h).length()+" nº "+i);
if (s.charAt(j)==l.get(h).charAt(i)){
j++;
if (erro>0)
erro--;
}else{
if ((j>0)&&(s.charAt(j)!=l.get(h).charAt(i))){
erro++;
erro_total++;
if (erro > 2){
j = 0;
erro = 0;
}
}
}
if (StringUtils.isNumeric(String.valueOf(s.charAt(j)))){
j++;
}
}
if (erro_aux > getPercent(l.get(h).length(),erro_total)){
erro_aux = getPercent(l.get(h).length(),erro_total);
resp = l.get(h);
JOptionPane.showMessageDialog(null, "erro aux "+erro_aux+" "+resp);
}
}
}
}
return resp;
}