编写一个方法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;
}
}
我可以得到一些帮助!
答案 0 :(得分:1)
更改行
if ( IsEven( nums ) )
到
if ( IsEven( nums[counter] ) )
答案 1 :(得分:1)
您有三个编译时问题:
isEven
main
IsEven
而不是isEven
array
int
而不是int
传递给isEven
方法一个运行时问题:
格式化应为"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) {
//...