方法在一个方法中替换一个布尔语句

时间:2015-03-03 03:39:35

标签: java methods

作为家庭作业的一部分,我需要使用这种方法:

public boolean validIndex(int index)
    {
        if ((index >= 0) && (index <= files.size() - 1)) {
            return true;
        }
        else {
            System.out.println("File not found.");
            return false;
        }
    }

我需要在这个方法中实现它而不是boolean if语句:

public void listFile(int index)
    {
        if(index >= 0 && index < files.size()) {
            String filename = files.get(index);
            System.out.println(filename);
        }
    }

如何在第二个方法中调用原始方法?

4 个答案:

答案 0 :(得分:1)

validIndex函数

中的if语句中调用listFile
if(validIndex(index))
{
   String filename = files.get(index);
   System.out.println(filename);
}

因此,如果validIndex功能返回True,那么这将被评估为 if(True)将执行函数体。

如果validIndex返回False,那么这将是if(False),并且不会执行函数体。

答案 1 :(得分:0)

看起来你想要这样的东西:

public void listFile(int index)
{
    if(validIndex(index)) { 
        String filename = files.get(index);
        System.out.println(filename);
    }
}

答案 2 :(得分:0)

这将从所述validIndex方法返回布尔值,该值将确定调用它的if的控制流。

if(validIndex(index))

答案 3 :(得分:0)

请注意:

public void listFile(int index)
{
    if(validIndex(index)) { 
        String filename = files.get(index);
        System.out.println(filename);
    }
}

的行为不会完全相同:

public void listFile(int index)
{
    if(index >= 0 && index < files.size()) {
        String filename = files.get(index);
        System.out.println(filename);
    }
}

,因为:

public boolean validIndex(int index)
{
    if ((index >= 0) && (index <= files.size() - 1)) {
        return true;
    }
    else {
        System.out.println("File not found.");
        return false;
    }
}

有一个关键区别:“找不到文件”行。

顺便说一下,

((index >= 0) && (index <= files.size() - 1)) 

 (index >= 0  &&  index <  files.size())

虽然看起来不一样,但结果却是一样的。