我希望我的方法返回多个字符

时间:2015-10-03 21:57:03

标签: java

我的方法的目的是一次做很多事情。 到目前为止,这是我的代码:

public static String isCode(String code) {
    code= "GUG";

    if (otherMethod(code.charAt(0)) && otherMethod(code.charAt(1))  && otherMethod(code.charAt(2)))

返回;

}
}

然后如何使我的isCode方法通过另一个先前制作的方法将我的字符作为其他内容返回。例如,如果我有一个方法将一个字符转换为另一个字符,我该如何编写一个能够实现这一目标的代码。我尝试写myOtherMethod(code.charAt(0),但是如何多次这样做才能返回我正在寻找的所有三个值?

2 个答案:

答案 0 :(得分:0)

我同意Tom的观点,如果你的方法做得太多,你应该重新考虑你的代码。但是,如果我正确地阅读了你的解释,我想你可能会把这个问题写得很糟糕。看起来你不想做多件事 - 你想多次做一件事。看起来最简单的方法就是做这样的事情:

... else {
    char[] bases = dna.toCharArray();
    char[] newBases = new char[bases.length];
    for (int i = 0; i < bases.length; i++) {
        newBases[i] = myOtherMethod(bases[i]);
    }
    return new String(newBases);
}

这将在dna中的每个char上使用myOtherMethod,将它们放入新数组中各自的位置,然后从数组中创建一个字符串以返回。

更具体的方法是:

... else {
    return new String(new char[]{myOtherMethod(firstcharacter),
        myOtherMethod(secondCharacter), myOtherMethod(thirdCharacter)});
}

答案 1 :(得分:0)

这真的取决于你。

一种方法是返回String,因为它几乎是一组字符。如果你有一个String对象,你可以连接像

这样的字符
String result = "";
if (isValidBase(dna.charAt(0)) {
    result += dna.charAt(0);
}else{
    return "";
}
if (isValidBase(dna.charAt(1)) {
    result += dna.charAt(1);
}else{
    return "";
}
// etc
return result;

您也可以返回char[],这是char的数组。如果您知道尺寸(3),那么就像

一样
char[] result = new char[3];

然后填写值,最后

return result;

你也可以使用ArrayList<char>,但这对你的目的来说可能有点过分。

有很多方法可以返回多个值。您需要更加具体地满足您的需求。