Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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 在一个数组中使用3种方法(加法、平均法、NumberReveNoded)_Java - Fatal编程技术网

Java 在一个数组中使用3种方法(加法、平均法、NumberReveNoded)

Java 在一个数组中使用3种方法(加法、平均法、NumberReveNoded),java,Java,我有一个名为tab的数组,其中有几个数字 int[] tab = {1,3,4,2}; 我必须创建3种方法: 1) 第一个addition()方法 2) 第二个average()方法 3) 第三个numberReveNode()方法 我的目标是:我必须用我的3种方法计算数组中奇数的平均值 这是我的addition()方法 public static int addition(int[] tab){ int sum = 0; for(int i=0

我有一个名为tab的数组,其中有几个数字

int[] tab = {1,3,4,2};
我必须创建3种方法:

1) 第一个addition()方法

2) 第二个average()方法

3) 第三个numberReveNode()方法

我的目标是:我必须用我的3种方法计算数组中奇数的平均值

这是我的
addition()
方法

public static int addition(int[] tab){
            int sum = 0;
            for(int i=0;i<tab.length;i++){
                sum += tab[i];
            }
            return sum;
        }
public static double averages(int[] tab){
            return (double) addition(tab) / tab.length;
}
public static int numberOddAdd(int[] tab, boolean value){
    int parity = 0;
    if(! value){
        parity = 1;
     }

    int n = 0;
    for(int i=0; i<tab.length;i++){
         if(tab[i] % 2 == parity){
             n += tab[i];
         }
     }
    return n;
    }
还有我的
numberodeven()
方法

public static int addition(int[] tab){
            int sum = 0;
            for(int i=0;i<tab.length;i++){
                sum += tab[i];
            }
            return sum;
        }
public static double averages(int[] tab){
            return (double) addition(tab) / tab.length;
}
public static int numberOddAdd(int[] tab, boolean value){
    int parity = 0;
    if(! value){
        parity = 1;
     }

    int n = 0;
    for(int i=0; i<tab.length;i++){
         if(tab[i] % 2 == parity){
             n += tab[i];
         }
     }
    return n;
    }

我的错误消息是->
不兼容类型:int无法转换为int

int
无法转换为
int[]
(请下次阅读错误)<代码>平均值取
int[]
numberodad
返回单个
int
int
不是
int[]
。第三种方法至少有三个版本。第一个名为
numberovenod()
,第二个名为
numberodeven()
,您的示例是
numberodad()
。第三种方法到底应该做什么?假设它应该检索第一,第三,第五。。。(或数组
int[]tab
中的第二、第四、第六个…)元素,则第三个方法将被声明为
公共静态int[]numberodeven(…
),并可能返回一个大约为原始数组大小一半的int新数组。