繁体   English   中英

条件循环练习

[英]Conditionals and Loops exercise

我坚持练习说:“写一个程序,确定并打印从键盘读取的整数值中的奇数,偶数和零位数。我在做什么错,我该如何纠正错误?

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);
   }
}

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

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
}

条件语句

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

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

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

  1. 您必须遍历所有数字。 在十进制系统中,有一种简单的整数方法来获取最后一位和其余位数作为新的但较小的整数值。
  2. 一旦有了单个(最后一个)数字,就可以检查它是否为奇数,偶数或零。
  3. 当第1步的剩余值变为0时,循环结束。注意:在开始时必须进行特殊检查,因为原始值可能已经为0。

查看已经为您提供一些代码的其他答案。 但是作为一个初学者,您确实应该首先尝试自己编写该代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM