String dna[] = {"ATCTA"};
int i = 0;
dna[i] = dna[i].replace('T', 'C');
System.out.println(dna[i]);
This works as expected. Double check your code if you follow a similiar pattern.
You may have expected, that dna[i].replace('T', 'C'); changes the content of the cell dna[i] directly. This is not the case, the String will not be changed, replace will return a new String where the char has been replaced. It's necessary to assign the result of the replace operation to a variable.
To answer your last comment:
Strings are immutable - you can't change a single char inside a String object. All operations on Strings (substring, replace, '+', ...) always create new Strings.
A way to make more than one replace is like this:
dna[i] = dna[i].replace('T', 'C').replace('A', 'S');
dnaan array of Strings or an array of chars?