public static void main(String[] args) {
String src = "abcdef";
String ptrn = "b?*******";
//System.out.println(wildrec(src,ptrn));
System.out.println(wildTd(src,ptrn,0,0));
}
public static boolean wildrec (String src, String ptrn ) {
if(src.length()!=0||ptrn.length()==0)
return false;
if(src.length()==0||ptrn.length()==0) {
return true;
}
if(src.length()==0||ptrn.length()!=0) {
for(int i = 0;i<ptrn.length();i++) {
if(ptrn.charAt(i)!='*') {
return false;
}else {
return true;
}
}
}
char a = src.charAt(0);
char b = ptrn.charAt(0);
String ros = src.substring(1);
String rop = ptrn.substring(1);
boolean ans;
if(b==a||b=='?') {
ans =wildrec(ros,rop);
}else if(b=='*') {
boolean blank = wildrec(src,rop);
boolean mult = wildrec(ros,ptrn);
ans = blank || mult;
}else {
ans = false;
}
return ans;
}
What's wrong with this code giving false with any entity
Hey @sanket_singh Send me your updated code or Full code bcoz the function which are using i.e.
wildTd(src,ptrn,0,0) is not present in the code.
public class wildcard { public static void main(String[] args) { String src = “abcdef”; String ptrn = "b?***"; //System.out.println(wildrec(src,ptrn)); System.out.println(wildTd(src,ptrn,0,0)); } public static boolean wildrec (String src, String ptrn ) { if(src.length()!=0||ptrn.length()==0) return false; if(src.length()==0||ptrn.length()==0) { return true; } if(src.length()==0||ptrn.length()!=0) { for(int i = 0;i<ptrn.length();i++) { if(ptrn.charAt(i)!=’’) { return false; }else { return true; } } } char a = src.charAt(0); char b = ptrn.charAt(0); String ros = src.substring(1); String rop = ptrn.substring(1); boolean ans; if(b==a||b==’?’) { ans =wildrec(ros,rop); }else if(b==’’) { boolean blank = wildrec(src,rop); boolean mult = wildrec(ros,ptrn); ans = blank || mult; }else { ans = false; } return ans; } public static boolean wildTd(String src,String ptrn ,int svidx,int pvidx) { if(src.length()==svidx||ptrn.length()==pvidx) return true; if(src.length()!=svidx||ptrn.length()==pvidx) { return false; } if(src.length()==svidx||ptrn.length()!=pvidx) { for(int i = 0;i<ptrn.length();i++) { if(ptrn.charAt(i)!=’’) { return false; }else { return true; } } } char a = src.charAt(svidx); char b = ptrn.charAt(pvidx); boolean ans ; if(b==a||b==’?’) { ans = wildTd(src,ptrn,svidx+2,pvidx+1); }else if(b==’’) { boolean blank = wildTd(src,ptrn,svidx,pvidx+1); boolean mult = wildTd (src,ptrn,svidx+1,pvidx); ans = blank || mult; }else { ans = false; } return ans ; } }