2015-03-03 46 views
0

作为家庭作业,我需要用这个方法的一部分:方法中的一个方法,以取代布尔语句

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

,我需要实现它的这个方法,而不是布尔if语句:

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

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

回答

0

它看起来像你想是这样的:

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

呼叫validIndexif声明listFile功能

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

因此,如果validIndex funtion返回True那么这将被评估为 if(True)并且该函数的主体将被执行。

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

0

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

if(validIndex(index)) 
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()) 

练得即使它们看起来不同一样。