有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

在我的程序中,我有两个数组(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)

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


共 (1) 个答案

  1. # 1 楼答案

    在将值存储到数组中之前,必须检查该值是否小于0。那就把这个挪开

     if (value <= 0 ){
         break;
     }
    

    上面,这里

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