条件和循环运动

时间:2016-03-05 08:05:40

标签: java

我坚持做一个练习我这样做说"编写一个程序,确定并打印从键盘读取的整数值中的奇数,偶数和零数字的数字。我做错了什么,怎么能我纠正了我的错误?

import java.util.Scanner;

public class OddEven {
   public static void main(String[] args){
   Scanner scan = new Scanner(System.in);

   int odd=0;
   int even=0;
   int zero=0;
   int num=0;
   int value;

   System.out.println("Enter a value: ");
   value=scan.nextInt();
   if (value%2==0)
       even=even+1;
   else
       odd=odd+1;
   System.out.println("even = "+ even);
   System.out.println("odd = "+odd);
   System.out.println("zero = "+zero);
   }
}

2 个答案:

答案 0 :(得分:1)

您必须一次检查每个数字:

int odd, even, zero, value;
value = scan.nextInt();

while(value > 0) {
    int digit = value%10; //isolates only the last digit
    if(digit==0)zero++;
    else if(digit%2==0)even++;
    else odd++;
    value /= 10; //removes the last digit
}

答案 1 :(得分:1)

条件陈述

if (value%2==0)
    even=even+1;
else
    odd=odd+1;

计算奇数或偶数位数。它只是确定输入的值(整个值)是奇数还是偶数。

由于这显然是一个家庭作业问题,我只会给出一些提示:

  1. 你必须遍历所有数字。在十进制系统中,有一种简单的整数方式可以将最后一位数字和剩余数字作为一个新的但更小的整数值。
  2. 一旦你有单个(最后一个)数字,你可以检查它是奇数,偶数还是零。
  3. 当步骤1中的剩余值变为0时,循环结束。注意:开头必须进行特殊检查,因为原始值可能已经为0.
  4. 查看已经为您提供一些代码的其他答案。但作为一个初学者,你真的应该首先尝试自己编写代码。