On vous donne l'interface MyString
suivante:
public interface MyString { /* * @pre - * @post retourne la longueur de la chaîne de caractère */ public int length(); /* * @pre 0<=i<this.length() * @post retourne le caractère à l'indice i de this */ public char charAt(int i); /* * @pre s!=null * @post retourne true si la chaine de caratères s est comprise dans la chaine this, false sinon */ public boolean contains(MyString s); /* * @pre - * @post retourne la chaine de caractères qui est la concaténation entre this et le caractère c */ public MyString concat(char c); }
Ainsi que la classe suivante :
public class StringTab implements MyString { private char[] s; /* * @pre - * @post construit une instance de la classe StringTab */ public StringTab(char c) { // A compléter // Constructeur 1 } public StringTab(char[] c) { // A compléter // Constructeur 2 } public MyString concat(char c){ // Non fourni } public boolean contains(MyString s) { // Non fourni } }