Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.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/3/arrays/12.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_Arrays_Methods - Fatal编程技术网

我的第一个密码问题!学习Java并需要帮助在阵列上执行基本统计

我的第一个密码问题!学习Java并需要帮助在阵列上执行基本统计,java,arrays,methods,Java,Arrays,Methods,这个项目是关于方法和数组的,分为三个部分。首先,创建一个数组。第二,用随机整数填充所述数组。最后,创建一个方法,显示每个int是偶数还是奇数,并提供随机int的平均值。 Java是我的第一种编程语言,在我的课程中我被介绍到这一点,我已经在这个问题上工作了大约4-5个小时,但遇到了麻烦。我似乎无法让我的statsDisplay方法在我创建的数组上执行必要的统计。看起来,由于它总是以交替的“偶数/奇数”结果出现,它只是从1-20创建自己的数组,并分析它,而不是前面的Math.random()数组。

这个项目是关于方法和数组的,分为三个部分。首先,创建一个数组。第二,用随机整数填充所述数组。最后,创建一个方法,显示每个int是偶数还是奇数,并提供随机int的平均值。 Java是我的第一种编程语言,在我的课程中我被介绍到这一点,我已经在这个问题上工作了大约4-5个小时,但遇到了麻烦。我似乎无法让我的statsDisplay方法在我创建的数组上执行必要的统计。看起来,由于它总是以交替的“偶数/奇数”结果出现,它只是从1-20创建自己的数组,并分析它,而不是前面的Math.random()数组。 有人能看到这里可能出了什么问题吗? 此外,这是我第一次在这里发表文章,所以如果它的格式不正确或以一种奇怪的方式询问,我很抱歉

public class Practicestuff {

    public static void main(String[] args) {
        int[] vals = new int[20];
        fill(vals);
        statsDisplay(vals);
        print(vals);
        
        
    }
    public static void print(int[] array) {
        for(int i = 0; i < array.length; i++) {
            System.out.println(array[i] + " ");
        }
        System.out.println();
    }
    public static void fill(int[] array) {
        for(int i = 0; i < array.length; i++) {
            array[i] = (int) (Math.random() *100);

    public static void statsDisplay(int[] array) {
        for(double i = 0; i < array.length; i++) {
            if(i % 2 == 0) {
                System.out.println("Number is even");
            
            if(i % 2 != 0) 
                System.out.println("Number is odd");
            
        }
    }
}
public class Practicestuff{
公共静态void main(字符串[]args){
int[]VAL=新的int[20];
填充(VAL);
静态显示(VAL);
打印(VAL);
}
公共静态无效打印(int[]数组){
for(int i=0;i
在您的
statsDisplay()
方法中,
for
循环中的
i
是索引(1,2,3,4…。
if
语句正在检查
i
是奇数还是偶数。您想检查
数组[i]
是奇数或偶数,因此您应该将if语句中的
i
替换为
array[i]

statsDisplay
方法中
i
是您的迭代计数器,而不是数组的内容。您需要检查
array[i]
并对其执行操作,而不仅仅是计数器。此外,您的代码似乎缺少一些大括号。说到这里,尽管在语法上这样做是有效的,但您应该始终对
if
while
语句使用大括号。除了@OHGODSPIDERS已经说过的内容之外是使用IDE的调试器非常有帮助的一个完美例子。一次只检查一行代码可能会告诉您关于
i
的某些内容不正确。非常感谢!这很有效,而且事后看来完全有意义。没问题。祝您在未来的代码上好运(和洞察)。