我的代码试图在gene []上找到相同的3个字母,并在trait []上打印相应的数组。但是"如果函数试图检查整个数组输入是否可被3&#34整除;需要帮助为什么我的"如果"功能不打印!!!
public class HelloWorld {
public static void main(String[] args) {
//args example: TTTGGTGGGTTC
String[] gene = {"TTT","TTC"........GGC","GGA","GGG"};
char[] trait = {'F','F','V','V'......,'E','G','G','G','G'};
String input = args[0];
int dome = input.length();
int x = 0;
int z = 2;
int b = 0;
for (int c = 0 ; c <= dome/3 ; c++){
String top = input.substring(x, z+1);
while (!top.equals(gene[b]) ){
b = b + 1;
}
System.out.print(trait[b] + " ");
x = x + 3;
z = z + 3;
b = 0;
}
if ( dome%3 == 0){
System.out.print("no excess ");
}else{
System.out.print("*");
}
}
}
答案 0 :(得分:1)
我认为你的for循环运行一个索引太多了。而不是
for (int c = 0 ; c <= dome/3 ; c++)
试
for (int c = 0 ; c < dome/3 ; c++)
答案 1 :(得分:0)
如果您的if / else部分不起作用,则可能会从For循环内部抛出异常。
因为for循环不会更新,if / else部分会受到影响。