【发布时间】:2021-10-02 02:10:44
【问题描述】:
我是 Java 新手,难以对二维整数数组执行输入验证。 我正在尝试检查以确定数组是否添加了任何负整数,如果是,则抛出异常。
我试过的是:
int [][] myArray = {
{2,-2,2,2},
{3,3,3,3}};
for(int i = 0; i < myArray.length; i++){
for(int j = 0; j < myArray[i].length; j++){
if(myArray[1] < 0 ){
throw new IllegalArgumentException("Negative integer.");
}
}
但是,很多人可能会从查看我的代码中了解到,我得到了错误
Incompatible types: int[] cannot be converted to int
有没有办法以某种方式执行输入验证以检查非正整数?到目前为止,我还没有想出一个好的解决方案或解决方法。
【问题讨论】:
-
在java中多维数组是数组的数组。所以 myArray[1] 的值是一个 int 数组,而不是一个特定的 int 值。更具体地说,它是您示例中的数组
{3,3,3,3}。要让它工作,你需要使用myArray[i][j] -
您有两个嵌套循环,嵌套循环内的代码根本无法使用 任何一个 循环变量。这应该是一个危险信号。
标签: java validation