double ini = 1;
for (int m = 1; m < arraydc.length - 1; m++)
{
if (arrtemp[m][0] == arrtemp[m + 1][0])
{
arrdec[m][0] = ini;
arrdec[m][1] = arrtemp[m][1];
}
else
{
arrdec[m][0] = ini;
arrdec[m][1] = arrtemp[m][1];
arrdec[m + 1][0] = ini++;
arrdec[m + 1][1] = arrtemp[m + 1][1];
}
System.out.println(arrdec[m][0] + "\t\t");
}
从上面的代码中我想以下列方式为数组元素赋值:
这是输入数组(第5行,我不考虑第1行,因此这就是从m = 1开始计数器的原因):
6.0
8.0
23.0
24.0
我想要输出如下(因为数组的所有元素都是不同的):
1.0
2.0
3.0
4.0
同样,如果输入是以下数组:
25.0
25.0
30.0
30.0
然后输出应该是这样的(等值元素将被相同的数字替换)
1.0
1.0
2.0
2.0
但是,我得到的输出最多只有3个值:
1.0
1.0
2.0
帮助我修改我的代码,这样我就可以获得输出数组中所有元素的输出值。
答案 0 :(得分:0)
m < arraydc.length - 1
- &gt; m < arraydc.length
double ini = 1;
for (int m = 1; m < arraydc.length; m++)
{
arrdec[m][1] = arrtemp[m][1];
if (m != 1 && arrtemp[m][0] == arrtemp[m - 1][0])
{
ini++;
}
arrdec[m][0] = ini;
System.out.println(arrdec[m][0] + "\t\t");
}