跪求一个可以从固定1024大小的byte数组中,从0至N-1提取N个byte的java算法
功能是从一个固定1024大小的byte数组中,从0至N-1提取N个byte,然后数组剩余部分前移,并补充N个随机的byte到数组末尾...
功能是从一个固定1024大小的byte数组中,从0至N-1提取N个byte,然后数组剩余部分前移,并补充N个随机的byte到数组末尾
展开
2个回答
展开全部
byte[] bytes=new byte[1024];
public byte[] getByte(int n){
if(n>1024){
throw new Exception("数组所求大于原数组");
}
byte[] result=new byte[n];
for(int i=0;i<n;i++){
result[i]=bytes[i];
}
for(int i=0;i<bytes.length;i++){
if(i>=length-n-1){
bytes[i]=(byte)(Math.random()*255);
}
bytes[i]=bytes[length-n-1+i];
}
}
public byte[] getByte(int n){
if(n>1024){
throw new Exception("数组所求大于原数组");
}
byte[] result=new byte[n];
for(int i=0;i<n;i++){
result[i]=bytes[i];
}
for(int i=0;i<bytes.length;i++){
if(i>=length-n-1){
bytes[i]=(byte)(Math.random()*255);
}
bytes[i]=bytes[length-n-1+i];
}
}
更多追问追答
追问
能不能加上说明,谢谢
追答
byte[] bytes=new byte[1024];
public byte[] getByte(int n){
if(n>1024){
throw new Exception("数组所求大于原数组");
}
byte[] result=new byte[n];//目标数组
for(int i=0;i=length-n-1){
bytes[i]=(byte)(Math.random()*255);
//如果i>=原数组中未取的数的长度时,用0~255之间的随机数
}
bytes[i]=bytes[n+i];//复制原数组后面的length-n个数到全面
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询