package tp1;

public class CharArray implements Tableau<Character> {
	
	private Character[] tab;
	private int size;
	
	
	
	public CharArray(String chaine)
	{
		this.size = chaine.length();
		this.tab = new Character[this.size];
		for (int i = 0 ; i < this.size ; i++)
		{
			this.tab[i] = chaine.charAt(i);
		}
	}
	
	

	@Override
	public int size() {
		return this.size();
	}

	@Override
	public Character get(int index) {
		this.checkIndex(index);
		return this.tab[index];
	}
	private void checkIndex(int index)
	{
		if (index >= this.size || index < 0)
			throw new IndexOutOfBoundsException();
	}


	@Override
	public void set(int index, Character c) {
		this.checkIndex(index);
		this.tab[index] = c;
		
	}

	@Override
	public int indexOf(Character c) {
		int i;
		for (i = 0 ; i<this.size || this.tab[i] != c ; i++) { }
		
		if (this.tab[i] == c)
			return i;
		else 
			return -1;
	}
	
	
	public CharArray concat(CharArray ch2)
	{
		String chaineConcat = "";
		for (int i = 0 ; i < this.size ; i++)
		{
			chaineConcat += this.tab[i];
		}
		for (int i = 0 ; i < ch2.size() ; i++)
		{
			chaineConcat += ch2.get(i);
		}
		
		CharArray chConcat = new CharArray(chaineConcat);
		
		return chConcat;
	}
	

	
}
