我正在研究一个程序,我将要求用户输入一个没有空格的字符串。然后我将这个字符串分成三个字符的每个部分,我想用这三个字符的新字符串填充一个数组。所以基本上我要问的是如何创建一个采用输入字符串的方法,将其拆分为三个独立的部分,然后用它填充数组。
while (i <= DNAstrand.length()-3) {
DNAstrand.substring(i,i+=3));
}
此代码将字符串拆分为三个部分,但如何将这些值分配给方法中的数组?
感谢任何帮助!
答案 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());