JAVA将新值添加到第二个循环中的数组中
我对int数组有问题。我将数组测量值放入循环中,当数组已满时,索引设置为0并递增1。 但在第二个循环中,数组并没有填充新值。 我尝试用以下方法清除数据:JAVA将新值添加到第二个循环中的数组中,java,arrays,loops,Java,Arrays,Loops,我对int数组有问题。我将数组测量值放入循环中,当数组已满时,索引设置为0并递增1。 但在第二个循环中,数组并没有填充新值。 我尝试用以下方法清除数据: RedData=new int[1001]; 但什么也没发生。程序在所有循环中都正常,但我只有这个数组有问题 你能给我推荐点什么吗?这是android应用程序 在主活动中,我调用方法parse(数据) int[]RedData=newint[1001]; int peak1=0,peak2=0,peak3=0,index1=0,index2=
RedData=new int[1001];
但什么也没发生。程序在所有循环中都正常,但我只有这个数组有问题
你能给我推荐点什么吗?这是android应用程序
在主活动中,我调用方法parse(数据)
int[]RedData=newint[1001];
int peak1=0,peak2=0,peak3=0,index1=0,index2=0,index3=0,pr1,pr2;
双脉冲=0;
私有整数i=0;
私人氧氟沙星;
私有OnDataChangeListener mOnDataChangeListener;
公共void解析(int[]packageDat){
红外线;
红色=256*256*packageDat[1]+256*packageDat[2]+packageDat[3];
ir=256*256*packageDat[4]+256*packageDat[5]+packageDat[6];
RedData[i]=红色;
如果(i>20){
如果(RedData[i-10]>=RedData[i-20]&RedData[i-10]>RedData[i]&peak1==0){
peak1=RedData[i-10];
index1=i-10;
}
如果(peak1>0&&i>(index1+25)和&peak2==0){
if(RedData[i-10]>=RedData[i-20]&&RedData[i-10]>RedData[i]){
peak2=RedData[i-10];
index2=i-10;
}
}
如果(峰值2>0&&i>(指数1+25)和峰值3==0){
if(RedData[i-10]>=RedData[i-20]&&RedData[i-10]>RedData[i]){
peak3=RedData[i-10];
index3=i-10;
}
}
pr1=(index2-index1)*10;
pr2=(index3-index2)*10;
如果(pr1>0&&Math.abs(pr1-pr2)<100){
脉冲率=60000/(pr1+pr2);
}
}
如果((int)pulseRate!=mOxiParams.pulseRate)
{
mOxiParams.update((int)pulseRate);
mOnDataChangeListener.onSPO2参数设置();
}
如果(I)发布完整的代码片段,以便其他人能够以更好的方式帮助您。我建议您在此发布完整的代码,如果没有代码,则很难假设您的场景?发布代码请提供一个完整的代码来完成您的问题。如果没有代码,则无法回答此问题。目前,此问题无效
int[] RedData = new int[1001];
int peak1=0,peak2=0,peak3=0,index1=0,index2=0,index3=0,pr1,pr2;
double pulseRate=0;
private int i =0;
private OxiParams mOxiParams;
private OnDataChangeListener mOnDataChangeListener;
public void parse(int[] packageDat) {
int red,ir;
red= 256*256*packageDat[1]+256*packageDat[2]+packageDat[3];
ir = 256*256*packageDat[4]+256*packageDat[5]+packageDat[6];
RedData[i] = red;
if(i>20) {
if (RedData[i - 10] >= RedData[i - 20] && RedData[i - 10] > RedData[i] && peak1 == 0) {
peak1 = RedData[i - 10];
index1 = i - 10;
}
if (peak1 > 0 && i > (index1 + 25) && peak2 == 0) {
if (RedData[i - 10] >= RedData[i - 20] && RedData[i - 10] > RedData[i]) {
peak2 = RedData[i - 10];
index2 = i - 10;
}
}
if (peak2 > 0 && i > (index1 + 25) && peak3 == 0) {
if (RedData[i - 10] >= RedData[i - 20] && RedData[i - 10] > RedData[i]) {
peak3 = RedData[i - 10];
index3 = i - 10;
}
}
pr1 = (index2 - index1) * 10;
pr2 = (index3 - index2) * 10;
if (pr1 > 0 && Math.abs(pr1 - pr2) < 100) {
pulseRate = 60000 / (pr1 + pr2);
}
}
if((int)pulseRate != mOxiParams.pulseRate )
{
mOxiParams.update((int)pulseRate);
mOnDataChangeListener.onSpO2ParamsChanged();
}
if(i<1000)
{
i++;
}
else
{
i=0;
RedData=new int[1001];
}
}