import java.util.Scanner;
import java.util.Random;

// A class that does a given number of mutations to a given string
public class Mutate {

    public static void main(String[] args) {
        String dna;
        int mutations;
        int count;
        Scanner scan;
        Random r = new Random(0xdeadbeefL);

        scan = new Scanner(System.in);

        System.out.print("Enter number of mutations: ");
        mutations = scan.nextInt();
        System.out.print("Enter dna string: ");
        dna = scan.next();

        for (count=0;count<mutations;count++) {
            int pos;
            char c;
            // get a random ACGT character
            switch(r.nextInt(4)) {
            case 0:
                c='A';
                break;
            case 1:
                c='C';
                break;
            case 2:
                c='G';
            break;
            default:
                c='T';
                break;
            }
            // modify the string
            pos = r.nextInt(dna.length());
            dna = dna.substring(0,pos)+c+dna.substring(pos+1,dna.length());
        }
        System.out.println("Output dna: "+dna);
    }
}
