IsEven Java项目

时间:2013-12-17 14:22:54

标签: java arrays

编写一个方法isEven,它使用余数opertator(%)来确定整数是否为偶数。该方法应采用整数数组参数,确定数组元素的值是否为偶数,然后打印该值。使用for循环遍历数组。将此方法合并到一个传递数组的应用程序中,即NUMS [] {8,16,9,52,3,15,27,6,14,25,2,10}

我一直试图解决这个问题一段时间了,而且我坚持这就是我到目前为止

public class IsEven 
{
    public static void main( String[] args )
    {

        int[] nums = {8, 16, 9, 52, 3, 15, 27, 6, 14, 25, 2, 10 };

        System.out.printf( "%s%11s\n", "Number", "Even" ); // column heading

        for ( int counter = 0; counter < nums.length; counter++ )
        {
            if ( IsEven( nums ) )
            System.out.printf( "Even numbers are =  %d\n", nums );
        } 
    } 
    public boolean isEven( int even )
    {
        return even % 2 == 0;
    } 
} 
我可以得到一些帮助!

5 个答案:

答案 0 :(得分:1)

更改行

if ( IsEven( nums ) )

if ( IsEven( nums[counter] ) )

答案 1 :(得分:1)

您有三个编译时问题:

  1. 您正在从静态方法isEven
  2. 调用非静态方法main
  3. 您需要致电IsEven而不是isEven
  4. 您正在将array int而不是int传递给isEven方法
  5. 一个运行时问题:

    格式化应为"Even numbers are = %d\n", nums

    的输出"Even numbers are = %d\n", nums[counter]

答案 2 :(得分:0)

这里 - &GT; if ( IsEven( nums ) )

替换为

 if(isEven(nums[counter]))

            System.out.printf( "Even numbers are =  %d\n", nums );

答案 3 :(得分:0)

你可以改变这样的东西。
确保比较差异 在这段代码和你的代码之间 看看你的错误在哪里。

        public class IsEven {
            public static void main(String[] args) {

                // initializer list specifies the value for each element
                int[] nums = { 8, 16, 9, 52, 3, 15, 27, 6, 14, 25, 2, 10 };

                System.out.printf("%11s%11s\n", "Number", "Even"); // column heading

                // output each array element's value
                for (int counter = 0; counter < nums.length; counter++) {
                    if (isEven(nums[counter])) {
                        // System.out.printf("Even numbers are =  %d\n", nums[counter]);
                        System.out.printf("%11d%11s\n", nums[counter], "Yes"); // column heading
                    }else{
                        System.out.printf("%11d%11s\n", nums[counter], "No"); // column heading
                    }
                }
            } // end method main

            // return true if Array is Even
            public static boolean isEven(int even) {
                return even % 2 == 0;
            } // end method boolean
        } // end class IsEven

答案 4 :(得分:0)

更改行

if ( IsEven( nums ) )

if ( isEven( nums[counter] ) )

因为该方法接受int而不是数组。调用方法也区分大小写! (开头的小写字母i)

并使public boolean isEven(int even)静态:

public static boolean isEven(int even) { 
    //...