0
import java.util.Scanner;
public class ReverseCompliment
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
String seqFirst = "0";
String seqSecond = "0";
String seqReverseCompliment = "";
boolean isOrIsNot = true;
System.out.print("Enter the first sequence: ");
seqFirst = in.next();
System.out.print("Enter the second sequence: ");
seqSecond = in.next();
for (int i = 0; i < seqFirst.length(); i++)
{
if (seqFirst.charAt(i) == 'A')
{
seqReverseCompliment = "T" + seqReverseCompliment;
}
else if (seqFirst.charAt(i) == 'T')
{
seqReverseCompliment = "A" + seqReverseCompliment;
}
else if (seqFirst.charAt(i) == 'C')
{
seqReverseCompliment = "G" + seqReverseCompliment;
}
else if (seqFirst.charAt(i) == 'G')
{
seqReverseCompliment = "C" + seqReverseCompliment;
}
else
{
System.out.println("incorrect input");
}
}
for (int i = 0; i < seqFirst.length(); i++)
{
if (seqSecond.charAt(i) != seqReverseCompliment.charAt(i))
{
isOrIsNot = false;
}
else if (seqSecond.charAt(i) == seqReverseCompliment.charAt(i))
{
isOrIsNot = true;
}
}
if (isOrIsNot = true)
{
System.out.println("These are reverse compliments");
}
else if (
{
System.out.println("These are not reverse compliments");
}
}
}
本質上我需要用戶輸入兩個DNA序列,然後程序需要比較它們並確定兩個序列是否是相互反向的讚美。我不想找人爲我完成這項任務,我只是不知道爲什麼它不能正常工作。 當我測試它時,它總是說這兩個是相反的讚美。爲什麼我的代碼不聽?
你必須提供更多的細節。 「*無法正常工作*」不足。 –
「當我測試它時,它總是說這兩個是反向讚美」不管輸入如何,程序總是說這兩個是反向讚美 –
您的'isOrIsNot'變量只反映最後的比較結果。一旦發現第一個不匹配,您需要從循環中「斷開」。 –