Java中的布尔值

时间:2014-02-24 01:48:43

标签: java boolean

提示:您可以使用布尔表达式(x / 2)* 2 == x来测试整数x是偶数还是奇数。甚至使此表达式为true的整数,奇数整数使表达式为false。使用for循环迭代五次。在每次迭代中,请求用户输入一个整数。打印用户键入的每个整数,以及它是偶数还是奇数。跟上用户输入的偶数和奇数整数的数量,并在完成后打印“完成”,这样用户就不会尝试输入另一个整数。最后,打印出输入的偶数和奇数的整数。

这是我到目前为止的代码:

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    System.out.println("Enter an integer.");
    int x = in.nextInt();
    boolean even;
    for (int i = 0; i == 5; i++) {
        if ((x / 2) * 2 == x) {
            even = true;
            System.out.println(x + " is even.");
        }
        if ((x / 2) * 2 != x) {
            even = false;
            System.out.println(x + " is odd.");
        }
    }
}

不寻求解决方案,只是帮助我需要做些什么。对整个布尔事物真的很困惑。

5 个答案:

答案 0 :(得分:1)

好吧,你的循环不会开火;每次到达循环时,i == 5总是假的。

您可能希望将循环语句更改为:

for (int i = 0; i <= 5; i++) {
    // code
}

此外,凭借Java评估分支的方式,变量even可能尚未初始化。您需要使用值实例化它。

boolean even = false;

最后,判断数字是否均匀的最简单方法是使用模数运算符。如果它可以被2整除,那就是偶数。否则,这很奇怪。

if (x % 2 == 0) {
    // even, do logic
} else {
    // odd, do logic
}

缺少分配中的要求 - 也就是说,能够保持奇数和偶数的运行记录,但我将其作为练习留给读者。< / p>

答案 1 :(得分:1)

这似乎就像你的作业一样。

似乎你的'布尔偶'甚至没有被使用,我建议你不要声明也不要使用它。如果是偶数或奇数更好,则使用x = x%2来获取数字。如果是偶数x应该是0,如果它是奇数x应该是1.%等于MOD

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int x;
int even = 0;   // keep tracks the number of even
int odd = 0;    // keep tracks the number of odd
for (int i = 0; i < 5; i++) {
    System.out.println("Enter an integer.");
    x = in.nextInt();
    if (x % 2 == 0) {
        even++;
        System.out.println(x + " is even.");
    }
    if (x % 2  == 1) {
        odd++;
        System.out.println(x + " is odd.");
    }
}
System.out.println("Done");
System.out.println("Evens: " + even "\nOdds: " + odd);
}

此代码应该是您的作业要求的答案。你的in.nextInt()应该在for循环中,因为你需要请求用户5次。不仅如此,你的循环应该是&lt; 5,因为它将从0,1,2,3,4

循环5次

答案 2 :(得分:0)

您缺少的部分是跟踪遇到的偶数和奇数。你需要两个单独的int变量,你将在主循环之前声明它们。

int numEvens = 0;
int numOdds = 0;

然后,在您确定输入的数字是奇数还是偶数的分支中,您将增加这些数字中的一个或另一个。

最后,在程序结束时,您可以通过消息将它们打印出来。

答案 3 :(得分:0)

如果您想使用java boolean ..我认为这可能会对您有所帮助

package stackOverFlow;

public class EvenOddNumber {


public boolean findEvenOdd(int num) {
    if (num % 2 == 0) {
        return true;

    }
    else {

        return false;
    }

}
}




import java.util.Scanner;

public class Demo {
public static void main(String[] args) {
    int num;
    EvenOddNumber e = new EvenOddNumber();
    System.out.print("Enter a number:");
    Scanner scan = new Scanner(System.in);
    num = scan.nextInt();

    System.out.println( num+"  is even number?: " + e.findEvenOdd(num));

}

}

答案 4 :(得分:-1)

查找偶数和奇数值的更简单方法是将数字除以2并检查余数:

if(x % 2 == 0) // remainder is 0 when divided by 2
{
//even num
}
else
{
//odd num
}