我用于确保元素不超过100或小于0的代码是:
boolean test = true
for(int i = 0; i < inArray.length; i++){
for(int j = 0; j < inArray[0].length; j++){
if(inArray[i][j] <= 1 && inArray[i][j] >= 100){
test = false;
}
}
}
return test;
除非输入是什么,答案总是对的
我的输入array
是
{12, 1331, 23, 5, 1, 3},
{22, 23, 231, 21312, 1, 3},
{23, 31, 343, 3432, 1, 3},
{42, 12, 5454, 1212, 3, 9}
如果输入此否,测试应该=假?
大学规则意味着我不能在子模块末尾以外的任何地方使用break;
或return
将您的循环条件更新为i < inArray.length && test
和j < inArray[0].length && test
,这将在发现无效的编号后强制结束循环而您的if条件为inArray[i][j] <= 1 || inArray[i][j] >= 100
boolean test = true
for(int i = 0; i < inArray.length && test; i++){
for(int j = 0; j < inArray[0].length && test; j++){
if(inArray[i][j] <= 1 || inArray[i][j] >= 100){
test = false;
}
}
}
return test;
您也可以跳过if
块,
boolean test = true
for(int i = 0; i < inArray.length && test; i++){
for(int j = 0; j < inArray[0].length && test; j++){
test = (1 <= inArray[i][j] && inArray[i][j] <= 100)
}
}
}
return test;
这是因为它基于最后一个元素的条件为'9'的条件返回,所以您总是会得到true,您可以做一件事
boolean test = true
int count=0;
for(int i = 0; i < inArray.length; i++){
for(int j = 0; j < inArray[0].length; j++){
if(inArray[i][j] <= 1 && inArray[i][j] >= 100){
count++;
}
}
}
if(count > 0){
test=false;
}
return test;