我坚持练习 我说"编写一个程序来确定并打印从键盘读取的整数值中的奇数、偶数和零位数。我做错了什么,如何纠正我的错误?
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 中的剩余值变为 0 时,循环结束。一些警告:在开始时必须进行特殊检查,因为原始值可能已经是 0。
看看已经为你提供了一些代码的其他答案。但是作为初学者,您确实应该首先尝试自己编写代码。