Я должен написать класс, который состоит из генома букв A, C, G и T. Во-первых, последовательность должна быть случайным образом создана в публичном геноме (длина int). Затем, в методе «удаление», случайно выбранный символ генома должен быть удален. Проблема сейчас в том, что мой объект g1 не сохраняет результат этого процесса. Поэтому, если у меня есть «ACTTGC» в качестве генома, то тот же самый геном будет продолжать выходить в качестве выходных данных (несмотря на то, что массив символов, в котором сохранены все эти буквы, был изменен), без его изменения. К сожалению, мне разрешено использовать только эти методы. Мне не разрешено создавать другой метод (например, сеттер). Можете ли вы помочь мне и рассказать, как сохранить новую последовательность в моем объекте.
мой JavaScript:
import java.util.Arrays;
public class Genom {
//length of genome
private int length = 0;
//Sequence of aminoacids
private char[] aminoAcids;
//vocabulary
static final char[] ALPHABET = {'A', 'C', 'G', 'T'};
/**
* Construction of the genome
*/
public Genom(int length) {
this.length = length;
aminoAcids = new char[length];
int zufall = 0;
for(int i = 0; i < length; i++){
zufall = Random.generateRandomInt(4);
aminoAcids[i] = ALPHABET[zufall];
}
}
public char[] getAASequence() {
return aminoAcids;
}
public int getLength() {
return this.length;
}
//returns sequence as a string
public String toString() {
StringBuffer b = new StringBuffer();
char [] aminoAcids = getAASequence();
//int length = getLength();
for(int i = 0; i < aminoAcids.length; i++){
b.append(aminoAcids[i]);
}
String s = b.toString();
return s;
}
public void deletion() {
char [] aminoAcids = getAASequence();
int length = getLength();
char [] deletedAcid = new char [aminoAcids.length - 1];
int random = Random.generateRandomInt(aminoAcids.length - 1);
int count = 0;
for(int i = 0; i < aminoAcids.length; i++){
if(i == random){
count = count - 1;
}else{
deletedAcid[count] = aminoAcids[i];
}
count++;
}
aminoAcids = new char[deletedAcid.length];
for(int i = 0; i < deletedAcid.length; i++){
aminoAcids[i] = deletedAcid[i];
}
}
public static void main(String[] args) {
Genom g1 = new Genom(5);
g1.deletion();
}