मैं अपनी कक्षा समाप्त कर रहा हूं जहां मेरा मूल विज्ञापन किसी अन्य स्ट्रिंग में कॉपी हो जाता है, लेकिन 10% संभावना है कि स्ट्रिंग एडीएन की यादृच्छिक स्थिति में एक यादृच्छिक चार परिवर्तन होता है। यह वही है जो मेरे पास है:

String mitosiss = this.ADN;
Random r = new Random();
String a = "ACGT";
int b = ADN.length();
int randd = (int)(Math.random()*1);

if(randd == 0){
    int rand = (int)(Math.random() * ADN.length());
    int randLetra = (int)(Math.random()*a.length());
    this.ADN += a.charAt(rand(a.length()));

    return this.ADN;

}else{
    return "ok";
}

तो, मैं एडीएन स्ट्रिंग में यादृच्छिक रूप से स्थिति चुन रहा हूं जहां नया चार जाएगा, और यादृच्छिक चार। मैंने इसे इस तरह से किया क्योंकि नए चार को ए, सी, जी या टी होना चाहिए। और मेरे पास एक गणित यादृच्छिक है कि यदि इसकी == 10 है, तो यह बदलाव करेगा। (मुझे पता है, if गलत है। ऐसा इसलिए है क्योंकि मैं यह देखने के लिए अपना कोड चला रहा हूं और चला रहा हूं कि क्या यह काम कर रहा है इसलिए मुझे 10% के आने का इंतजार नहीं करना है।)

परिवर्तन करने के लिए मैं उन रैंडम को अपने स्ट्रिंग और (मिटोसिस) में कैसे कार्यान्वित कर सकता हूं?

-1
user13932401 17 जुलाई 2020, 03:42

1 उत्तर

सबसे बढ़िया उत्तर

आप इस तरह कोशिश कर सकते हैं:

public String mutation(String adn) {
    String result;
    StringBuilder adnBuilder = new StringBuilder(adn);
    String a = "ACGT";
    double randd = Math.random();
    if(randd < 0.1){
        adnBuilder.setCharAt((int)(Math.random()*adn.length()), a.charAt((int)(Math.random()*a.length())));
        result = adnBuilder.toString();

    }else{
        result = "ok";
    }
    return result;
}
0
A.RAZIK 17 जुलाई 2020, 04:26