我正处于Java的第一年,并且使用布尔方法测试是偶数还是奇数。我有大部分代码,但是当我输入一个奇数时,它会将其返回为偶数。我的教授给了我们方法的签名:public static boolean isOdd(int number)
package homeWork1;
import java.util.Scanner;
public class OddTest {
public static void main(String args[])
{
int number;
System.out.println("Enter an integer to check if it is odd or even: ");
Scanner input = new Scanner(System.in);
number = input.nextInt();
isOdd(number);
boolean answer=isOdd(number);
if (answer=true)
{
System.out.println("EVEN");
}
if (answer=false)
{
System.out.println("ODD");
}
}
public static boolean isOdd(int number)
{
if(number % 2 == 0)
{
return true;
}
return false;
}
答案 0 :(得分:4)
if (number % 2 == 0)
表示该数字可以被2整除,因此它是偶数。
您希望将条件更改为:
if (number % 2 != 0)
并且,由于条件语句是布尔值,您可以进一步简化它,如:
public static boolean isOdd(int number)
return number % 2 != 0;
}
此外,您在使用方法的代码中出错。
boolean answer=isOdd(number);
if (answer=true)
{
System.out.println("ODD");
}
if (answer=false)
{
System.out.println("EVEN");
}
在这里,answer=true
是一项任务,而非比较。你可以写下来解决它:
if (isOdd(number))
{
System.out.println("ODD");
}
else
{
System.out.println("EVEN");
}
答案 1 :(得分:0)
您可以分配这些值,而不是检查 answer 是真还是假。在Java中检查相等性是==
。顺便说一句,我建议只使用if (answer)
和if (!answer)
来表示布尔 - 看起来更简单,更容易出错:)