如何将字符串拆分为偶数部分然后使用这些新字符串填充数组?

时间:2016-06-04 18:52:09

标签: java arrays split

我正在研究一个程序,我将要求用户输入一个没有空格的字符串。然后我将这个字符串分成三个字符的每个部分,我想用这三个字符的新字符串填充一个数组。所以基本上我要问的是如何创建一个采用输入字符串的方法,将其拆分为三个独立的部分,然后用它填充数组。

while (i <= DNAstrand.length()-3) {
DNAstrand.substring(i,i+=3));
}

此代码将字符串拆分为三个部分,但如何将这些值分配给方法中的数组?

感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

试试这个:

private static ArrayList<String> splitText(String text)
{
    ArrayList<String> arr = new ArrayList<String>();
    String temp = "";
    int count = 0;
    for(int i = 0; i < text.length(); i++)
    {
        if(count < 3)
        {
            temp += String.valueOf(text.charAt(i)); 
            count++;
            if(count == 3)
            {
                arr.add(temp);
                temp = "";
                count = 0;
            }
        }

    }
    if(temp.length() < 3)arr.add(temp);//in case the string is not evenly divided by 3
    return arr;
}

您可以这样调用此方法:

ArrayList<Strings> arrList = splitText(and the string you want to split);

答案 1 :(得分:0)

循环并将所有输入添加到数组中。

    String in = "Some input";

    //in.length()/3 is automatically floored
    String[] out = new String[in.length()/3];

    int i=0;

    while (i<in.length()-3) {
        out[i/3] = in.substring(i, i+=3);
    }

如果字符串的长度不是3的倍数,则会忽略字符串的结尾。结尾可以找到:

String remainder = in.substring(i, in.length());

最后,如果你想让余数成为数组的一部分:

    String in = "Some input";

    //This is the same as ceiling in.length()/3
    String[] out = new String[(in.length()-1)/3 + 1];

    int i=0;

    while (i<in.length()-3) {
        out[i/3] = in.substring(i, i+=3);
    }
    out[out.length-1] = in.substring(i, in.length());