我试图用这种方式编写一个使用基本模式生成数组的方法:
该方法使用基本模式和X
值,并且必须以循环方式创建大小为X base
的结果数组
如果我有
String base[] = "A", "B", "C"
如果x=4
结果应为
res[] = "A", "B", "C"
如果x=11
"A", "B", "C", "A", "B", "C", "A", "B", "C", "A", "B"
等等
我的代码就是这个
public static String[] circ(Context c, int size){
String[] base = {c.getResources().getString(R.string.ChannelA), c.getResources().getString(R.string.ChannelB), c.getResources().getString(R.string.ChannelC)};
String res[];
if(size>base.length){
int deltaSize=size-base.length;
int listSize=base.length+deltaSize;
res=new String[listSize];
for(int i=0; i<listSize; i++){
if(i<base.length){
res[i]=base[i];
}
else{
res[i]=base[i-base.length];
}
}
}
else{
res=base;
}
return res;
}
但不起作用,我找不到有什么问题。有什么建议吗?
答案 0 :(得分:0)
您应该使用模运算,它使代码更容易:
public static String[] circ(Context c, int size){
String[] base = /.../
String res[];
for (int i = 0; i < size; i++) {
res[i] = base[i % base.length];
}
return res;
}