Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 标志或每个标志可能值的单独方法?_Java - Fatal编程技术网

Java 标志或每个标志可能值的单独方法?

Java 标志或每个标志可能值的单独方法?,java,Java,如果您希望在某个点从数组中同时获取负数或正数,那么哪个选项“更好”: getAllNumbers(initialArray,布尔正) .... 或 GetAllPositionEnumbers(initialArray){ .. } GetAllNegativeEnumbers(initialArray){ … } 就个人而言,我会选择GetAllPositionEnumbers。否则,您需要在getAllNumbers中编写一些注释,以使前者立即变得明显 范例 /** *从数组返

如果您希望在某个点从数组中同时获取负数或正数,那么哪个选项“更好”:

getAllNumbers(initialArray,布尔正)
....



GetAllPositionEnumbers(initialArray){

..
}
GetAllNegativeEnumbers(initialArray){

}

就个人而言,我会选择
GetAllPositionEnumbers
。否则,您需要在
getAllNumbers
中编写一些注释,以使前者立即变得明显

范例

/**
*从数组返回数字。
*@正布尔值,指示是否仅获取正值。
*
*/
公共列表GetAllNumber(initialArray,布尔正)
{
//一些代码。
}

公共列表GetAllPositionEnumbers(int[]数字)
{
//一些代码。
}

正如您所看到的,最后一个是非常明显的功能。

如果这是用于库或其他东西,我建议两者都使用。GetAllPositionEnumbers和GetAllNegationEnumbers方法可以调用getAllNumbers方法,如下所示:

public int[] getAllNumbers(int[] array, boolean positive) {
    //...
}

public int[] getAllPositiveNumbers(int[] array) {
    return getAllNumbers(array, true);
}

否则,请使用您喜欢的方法。

我想使用
GetAllPositiveEnumbers
GetAllNegativeEnumbers
,因为代码更清晰易读,但为客户端提供一种方便的方法可能是合理的

如果客户端代码必须在运行时选择其中一个方法(因为用户输入)。然后,每个客户都必须这样做:

boolean selectPositiveNumber = .....; // obtained somehow through user input
int[] numbers = null;
if(positiveNumbers){
     numbers = getAllPositiveNumbers(allNumbers);
} else {
     numbers = getAllNegativeNumbers(allNumbers);
}
public int positiveSum(int[] values){
   int[] positiveNumbers = getPositiveNumbers(values);

   int sum = 0;
   // loop to calc the sum
   return sum;
}
在这种情况下,方便的方法
getAllNumbers(initialArray,boolean-positive)
使客户机代码变得更简单

boolean selectPositiveNumber = .....; // obtained somehow through user input
int[] numbers = getAllNumbers(allNumbers, selectPositiveNumber);
如果客户机代码在“编译时”选择其中一个方法。这样,客户端就不需要方便的方法,例如,客户端代码可能会执行以下操作:

boolean selectPositiveNumber = .....; // obtained somehow through user input
int[] numbers = null;
if(positiveNumbers){
     numbers = getAllPositiveNumbers(allNumbers);
} else {
     numbers = getAllNegativeNumbers(allNumbers);
}
public int positiveSum(int[] values){
   int[] positiveNumbers = getPositiveNumbers(values);

   int sum = 0;
   // loop to calc the sum
   return sum;
}
幸运的是,您可以将两者结合起来:

public int[] getAllNumbers(int[] nums, boolean onlyPositiveNums){
    if(onlyPositiveNums){
        return getAllPositiveNumbers(nums);
    } else {
        return getAllNegativeNumbers(nums);
    }
}
因此,如果您期望大量的客户端代码执行
if/else
,那么它就提供了一种方便的方法