我想創建一個方法,將一個互補的DNA庫分配給另一個。用char輸入和char輸出寫一個方法
以下是我有現在:
public class DnaTest {
public static void main(String[] args){
}
public static boolean aGoodBase (char c) {
boolean aBase;
if (c == 'A' || c == 'G' || c == 'C' || c == 'T')
{
aBase = true;
}
else
{
aBase = false;
}
System.out.println(aBase);
return aBase;
}
public static char baseComplement (char c){
boolean anotherBase = isGoodBase(c);
if (anotherBase)
{
if (isGoodBase('A'))
{
c = 'T';
}
else if (isGoodBase('T'))
{
c = 'A';
}
else if (isGoodBase('G'))
{
c = 'C';
}
else if (isGoodBase('C'))
{
c = 'G';
}
System.out.println(c);
return c;
}
else
{
System.out.println(c);
return c;
}
}
}
第二種方法應首先驗證如果輸入的字符是一個有效的鹼(ACG或T)通過使用第一種方法,然後分配其互補鹼基(如果底座無效,則應打印出相同的字符,例如輸入Z,輸出Z)。
有了這個代碼,我得到下面的輸出,當我輸入「A」:
true
true
true
T
,但我得到了完全相同的輸出,如果我輸入另一個基地......
當我輸入一個非有效的基礎,如'z',我得到:
false
false
z
有人可以幫我嗎?
提示:switch語句將是解決此問題的更簡單的方法。接下來,請注意,您正在調用'if(isGoodBase('A'))'等 - 這些調用根本不依賴於'c'的值... –
BTW:aGoodBase - isGoodBase – laune
感謝您的支持回答!不幸的是,我不允許使用switch語句,我將根據您剛纔告訴我的內容和編輯我的帖子來更改我的代碼。謝謝 ! – Jayzpeer