在我的程序中,我有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。
答案 0 :(得分:3)
您必须先检查value是否小于0,然后再将其存储在数组中。然后只需移动
if (value <= 0 ){
break;
}
上方,此处
System.out.print("Enter the number: ");
double value = keys.nextDouble();
if (value <= 0 ){
break;
}