Java数组删除最后存储的元素

时间:2018-11-30 17:45:49

标签: java arrays

在我的程序中,我有2个数组(x,y),用于存储从用户那里获取的值。 输入负值时,程序应停止要求新值。 到这里为止,一切正常。但是,负值不应存储在数组中。不幸的是,我的数组也存储负值。如何更改程序以确保不存储负值?

for (int i = 1, x = 0,y = 0; i <= 2*maxPoints; i++){

    System.out.print("Enter the number: ");
    double value = keys.nextDouble();

    if (i%2==1){
        xVal[x]=value;
        x++;
    }
    else if (i%2==0){
        yVal[y]=value;
        y++;
        numPoints++;
    }

    if (value <= 0 ){
        break;
    }
}

我尝试使用ArrayUtils.remove(),但是它不起作用。

输出如下:

Enter the number: 1
Enter the number: 2
Enter the number: 3
Enter the number: -4
we have 2 Points 
Point 1 is: (1.0 ,2.0)
Point 2 is: (3.0 ,-4.0)

最后一个数字为负,因此程序应仅显示Point 1。

1 个答案:

答案 0 :(得分:3)

您必须先检查value是否小于0,然后再将其存储在数组中。然后只需移动

 if (value <= 0 ){
     break;
 }

上方,此处

System.out.print("Enter the number: ");
double value = keys.nextDouble();
if (value <= 0 ){
    break;
}