Skip to content
Snippets Groups Projects
Commit 132059bc authored by RADELLAH Badr's avatar RADELLAH Badr
Browse files

TP1 final

parent 13ac2515
No related branches found
No related tags found
No related merge requests found
Pipeline #31140 passed
public class AsciiStringFilter implements StringFilter {
@Override
public String filter(String string) {
StringBuilder sb = new StringBuilder();
for (char c : string.toCharArray()) {
if ((int) c < 128) {
sb.append(c);
}
}
return sb.toString();
}
}
public class CompositeStringFilter implements StringFilter {
private StringFilter[] filters;
public CompositeStringFilter(StringFilter... filters) {
this.filters = filters;
}
@Override
public String filter(String string) {
String result = string;
for (StringFilter filter : filters) {
result = filter.filter(result);
}
return result;
}
}
public class LowerCaseStringFilter implements StringFilter {
@Override
public String filter(String string) {
return string.toLowerCase();
}
}
public class PostfixStringFilter implements StringFilter {
private int n;
public PostfixStringFilter(int n) {
this.n = n;
}
@Override
public String filter(String string) {
return string.length() > n ? string.substring(string.length() - n) : string;
}
}
public class PrefixStringFilter implements StringFilter {
private int n;
public PrefixStringFilter(int n) {
this.n = n;
}
@Override
public String filter(String string) {
return string.length() > n ? string.substring(0, n) : string;
}
}
public interface StringFilter {
String filter(String string);
}
public class StringFilterUtils {
public static String[] filter(String[] strings, StringFilter filter) {
String[] result = new String[strings.length];
for (int i = 0; i < strings.length; i++) {
result[i] = filter.filter(strings[i]);
}
return result;
}
}
public class UpperCaseStringFilter implements StringFilter {
@Override
public String filter(String string) {
return string.toUpperCase();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment