java—在生成条件语句时,如何引用验证方法(true或false)?

xmd2e60i  于 2021-07-07  发布在  Java
关注(0)|答案(2)|浏览(388)

因此,我有一个名为“files”的arrylist,我创建了一个验证方法,用于验证在使用它时是否调用了有效的索引引用:

// validation method of an ArrayList called "files"
public boolean validIndex(int index){
    if(index >= 0 && index < files.size()){
        return true;
    }
    else{
        return false;
    }
}

我不想只调用get方法,而是希望在调用arraylist中的项时能够引用“validindex”方法。

// Trying to make this one work:
Public void listFile(int index){
    if(validindex(index) = true){
        file.get(index);
    }
    else{
        System.out.println("Index: " + index + "is not valid!");
    }
}

请帮忙

fcy6dtqo

fcy6dtqo1#

这里的主要问题是你正在使用 = 而不是 ==if(validindex(index) = true) .
= 您正在设置 validIndex(index)true . 但那没用。
你想做的是比较,这是做了 == . 但是,比较布尔值是没有意义的,因为布尔值已经是 true 或者 false . 你可以简单地使用 if(validindex(index)) .
同样的道理也可以说 validIndex 功能。您具有以下结构:

if ($YourLogic){
  //logic is true
  return true;
}
else{
  //logic is false
  return false;
}

如您所见,您正在返回与逻辑相同的值。您可以这样直接退回:

public boolean validIndex(int index){
  return index >= 0 && index < files.size();
}
5vf7fwbs

5vf7fwbs2#

以下是更简洁的代码:

// validation method of an ArrayList called "files"
public boolean validIndex(int index){
    return (index >= 0) && (index < files.size());
}

因为

if (bool) return true;
else return false;

是同一件事 return bool; 对于其他函数,只需使用:

// Trying to make this one work:
public void listFile(int index){ // Public should be public
    if(validIndex(index)){ // No need for = true (which should be == true
// even if you use it) and validindex(index) should be
// validIndex(index) because that is the correct name of your function
        file.get(index);
    }
    else {
        System.out.println("Index: " + index + "is not valid!");
    }
}

您还可以查看一些布尔逻辑,以便更加熟悉 if 陈述和其他事情。
希望我的解释和代码注解是有用的!

相关问题