import java.util.Scanner;
public class DNA{
public static void main(String [] args) {
Scanner scan = new Scanner(System.in);
System.out.println("What is the dna string?");
StringBuilder DNA = new StringBuilder(scan.nextLine());
DNA.append(scan.nextLine());
for(int i=0;i<DNA.length();i++){
if(DNA.charAt(i)=='A'){
DNA.setCharAt(i,'T');
}
if(DNA.charAt(i)=='T'){
DNA.setCharAt(i,'A');
}
if(DNA.charAt(i)=='G'){
DNA.setCharAt(i,'C');
}
if(DNA.charAt(i)=='C'){
DNA.setCharAt(i,'G');
}
}
System.out.println(DNA);
}
}
所以,這就是我的代碼現在。它是一個基本的程序,需要一個DNA鏈,並給出它的副本。但是,某些字母可以工作,而其他字母則可以。從T到A和C到G的轉換工作,但從A到T和從G到C的轉換不能。有人可以幫我嗎?東西我的代碼,我似乎無法弄清楚
您正在使用來自Scanner的輸入創建一個StringBuilder,然後再將它附加到StringBuilder。另外一個switch語句會更好 – jthort
使用調試器來遍歷代碼。應該花費大約兩秒時間來發現問題。 –
使用'else if's來防止下一個逆轉交換。 – shmosel