首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我的数组只打印0--java

我的数组只打印0--java
EN

Stack Overflow用户
提问于 2018-06-08 08:03:15
回答 1查看 40关注 0票数 -2

我正在用java写一个关于从程序中提取四的倍数的程序。程序看起来像这样:

代码语言:javascript
复制
    import java.util.Random;
    import java.util.Arrays;
    public class Assignment8
    {
        public static void main ( String [] args )
        {
            int i = 0;
            int [] array1 = new int[100];  // creating an array of 100 numbers

            for (int number = 1; number < 100; number++)
            {
                array1[number] = (int)(Math.random() * 100);    
            }

            System.out.println("The numbers divisible by four are: " + Arrays.toString(Isdivisibleby4( array1 )));
        }

         public static int [] Isdivisibleby4(int [] v)
{

    int arraysize = 0;         
    for( int i = 0; i < v.length; i++ )
        if( v[i] % 4 == 0 )
                arraysize++;

    int [] divisibilityArray = new int[arraysize];  

    int j = 0;         

    for( int i = 0; i < v.length; i++ )
    {
            if( i % 4 == 0)
            {
                j++;
            }
    }
    return divisibilityArray;
}

}

但是,输出仅为0。非常感谢您的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-08 08:13:19

你从来没有把任何数字复制到divisibilityArray中。您可能想要添加如下内容

代码语言:javascript
复制
divisibilityArray[j] = v[i];

j++;之上的if条件中。这将确保条目实际上从一个数组复制到另一个数组。

此外,if条件可能应该是if( v[i] % 4 == 0 ),而不是if( i % 4 == 0 )。否则,您将获得每四个数字,而不是每个4的倍数;您甚至可能获得一个ArrayIndexOutOfBoundsException

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50751663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档