在Java中将字符串重复到数组中

在Java中将字符串重复到数组中,java,Java,我需要将字符串复制到一个字符数组中,在数组中可以复制的次数最多。在本例中,OPERATIVO将在char数组中输入3次,数组的其余部分可以是任意字符。我能做到吗 public void copyToArray( char [] arrayCharacters ){ String var = new String("OPERATIVO"); for(int i=0 ; i < 30 ; i++){ ... } } public void copyT

我需要将字符串复制到一个字符数组中,在数组中可以复制的次数最多。在本例中,OPERATIVO将在char数组中输入3次,数组的其余部分可以是任意字符。我能做到吗

public void copyToArray( char [] arrayCharacters ){
    String var = new String("OPERATIVO");

    for(int i=0 ; i < 30 ; i++){
        ...
    }
}
public void copyToArray(字符[]数组字符){
字符串变量=新字符串(“运算符”);
对于(int i=0;i<30;i++){
...
}
}
将为您提供在数组中复制字符串的最大次数

在您的情况下,
30/8=>3

将为您提供在数组中复制字符串的最大次数


在你的例子中,
30/8=>3
我不知道我是否正确理解了这个问题,但是如果你想将
字符串
复制到
字符数组
中,那么你可以这样做:

public void copy(char[] arr) {
    String string = "Some String";
    if (arr.length < string.length())
        // error
    arr = string.toCharArray();
}
公共作废副本(char[]arr){
String=“Some String”;
if(arr.length
我不知道我是否正确理解了这个问题,但是如果您想将
字符串
复制到
字符数组
中,那么您可以这样做:

public void copy(char[] arr) {
    String string = "Some String";
    if (arr.length < string.length())
        // error
    arr = string.toCharArray();
}
公共作废副本(char[]arr){
String=“Some String”;
if(arr.length
不太确定您想要什么,但我会试一试:

编辑:试试这个:

public static void copearCaracteres(char[] arrayOriginal )
{
    String cadena = new String("OPERATIVO");
    int div = arrayOriginal.length / cadena.length();
    int j = div * cadena.length();

    for(int i=0 ; i < arrayOriginal.length; i++)
    {
        if(i == j) return;
        arrayOriginal[i] = cadena.charAt(i % cadena.length());
    }
}
publicstaticvoidcopearcharacters(char[]arrayOriginal)
{
字符串cadena=新字符串(“操作”);
int div=arrayOriginal.length/cadena.length();
int j=div*cadena.length();
for(int i=0;i
不太确定您想要什么,但我会试一试:

编辑:试试这个:

public static void copearCaracteres(char[] arrayOriginal )
{
    String cadena = new String("OPERATIVO");
    int div = arrayOriginal.length / cadena.length();
    int j = div * cadena.length();

    for(int i=0 ; i < arrayOriginal.length; i++)
    {
        if(i == j) return;
        arrayOriginal[i] = cadena.charAt(i % cadena.length());
    }
}
publicstaticvoidcopearcharacters(char[]arrayOriginal)
{
字符串cadena=新字符串(“操作”);
int div=arrayOriginal.length/cadena.length();
int j=div*cadena.length();
for(int i=0;i
字符串cadena=新字符串(“操作”);
字符[]cad=新字符[30];
int length=cadena.length();
整数计数=1;
对于(inti=0,j=0;i<30&&j3)
{
打破
}
cad[i]=cadena.charAt(j);
j++;
}
输出:
operativooperativo

String cadena=新字符串(“OPERATIVO”);
字符[]cad=新字符[30];
int length=cadena.length();
整数计数=1;
对于(inti=0,j=0;i<30&&j3)
{
打破
}
cad[i]=cadena.charAt(j);
j++;
}

输出:
operativooperativo

您可以使用
java.lang.System.arraycopy()

String srcString=“OPERATIVO”;
char[]srcArray=srcString.toCharArray();
int maxLength=30;
char[]destArray=新字符[maxLength];
int pos=0;
while(位置<最大长度){
java.lang.System.arraycopy(srcArray,
0, 
去目标阵列,
销售时点情报系统,
Math.min(srcArray.length,maxLength-pos));
pos+=srcArray.length;
}
字符串字符串=新字符串(数组);
System.out.println(字符串);

您可以使用
java.lang.System.arraycopy()

String srcString=“OPERATIVO”;
char[]srcArray=srcString.toCharArray();
int maxLength=30;
char[]destArray=新字符[maxLength];
int pos=0;
while(位置<最大长度){
java.lang.System.arraycopy(srcArray,
0, 
去目标阵列,
销售时点情报系统,
Math.min(srcArray.length,maxLength-pos));
pos+=srcArray.length;
}
字符串字符串=新字符串(数组);
System.out.println(字符串);


阵列的大小是否不同?或者它们会变化吗?数组的大小始终为原始数组的30。数组的大小会变化吗?或者它们会变化吗?数组的原始大小始终为30。当我复制到数组3次时?@AngelSanchez使用
%
,就像Martin在其答案中所做的那样,并修改for循环的结束条件:
for(int I=0;I
当我复制到数组3次时?@AngelSanchez使用
%
就像Martin在其答案中所做的那样,并修改for循环的结束条件:
for(int I=0;I
,如果只有最后3个不应该通过不放入整个单词来修改的话。输出:operativivoperativivoperativivoxgb可能i<30应该是arrayOriginal.length。您的意思是说字符大小为27@AngelSanchez??没有大小总是30。但是只有在完全进入数组时才复制OPERATIVO。@AngelSanchez ohkk gudif只有最后3个不应该通过不放入整个单词来修改。输出:operativivoperativivoperativivoxgb可能i<30应该是arrayOriginal.length。您的意思是说字符大小为27@AngelSanchez??没有大小总是30。但是只有在完全进入数组时才复制OPERATIVO。@AngelSanchez ohkk gudYes,如果只有最后3个不应该通过不放入整个单词来修改的话。输出:OPERATIVOOPERATIVOOPERATIVOXGBExactly,谢谢你,先生。是的,如果只有最后3个不应该通过不放入整个单词来修改的话。输出:OperativooperativivoxGB准确地说,谢谢您,先生。