输入数组的所有值?

时间:2014-04-12 14:08:26

标签: java arrays

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

帮助我修改我的代码,这样我就可以获得输出数组中所有元素的输出值。

1 个答案:

答案 0 :(得分:0)

在你的for语句条件中

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");
}