CodeGym/Java 任务/偶数和奇数

偶数和奇数

  • 10
  • 已锁定
我们来确定从键盘输入的数字中有多少偶数和多少奇数。如果一个数字可被 2 整除而没有余数(即,余数为零),则该数为偶数。然后,我们将偶数计数器(static 变量 even)加 1。否则,该数为奇数,我们将增加奇数计数器(static 变量 odd)。
您无法完成此任务,因为您尚未登录。
评论 (16)
  • 热门
  • 最新
  • 最旧
您必须 登录 才能发表评论
Harry LevisSoftware Developer,在 Freelancer
7 二月 2025, 01:03
public static void main(String[] args) throws IOException {
    //在此编写你的代码
    Scanner scanner = new Scanner(System.in);
    int numberInput = scanner.nextInt();
    String numberAsString = String.valueOf(numberInput);
    scanner.close();

    for (char ch : numberAsString.toCharArray()) {
        int charAsInt = Character.getNumericValue(ch);
        int divisor = 2;
        int remainder = charAsInt % divisor;
        if (remainder == 0) {
            even += 1;
        } else {
            odd += 1;
        }

    }

    System.out.println("偶数:" + even + " " + "奇数:" + odd);
}
总结: 两者在功能上没有实质区别,都是计算一个数字中偶数和奇数的个数。 你的代码采用了字符串处理的方法,而答案代码使用了数学方法逐位处理数字。 答案代码在处理性能上可能稍有优势,但两者的实现方式都能满足题目的要求。 可以根据具体需求选择适合的实现方式。如果对性能要求较高,可以使用答案的代码。如果代码可读性更重要,可以使用你的代码。
Isld fal
等级 16 , Шанхай, China
25 十一月 2022, 15:44
我想请问odd和even一开始没有赋值是默认为0吗?为什么可以直接对其进行++操作?
z18335776829
等级 19 , China, China
18 三月 2023, 09:42
应该是static关键字 在类加载时 将static成员加载到static内存区 (在此时初始化static变量)
Cheth
等级 17
23 三月 2021, 09:26
最简单的方法不是转成Char 数组 然后每一位判断奇数还是偶数
Killer ID
等级 17 , Shenzhen, China
21 七月 2021, 01:47
My thought the same as yours!!!
Anonymous #10852681
等级 20 , Wuhan, 美国
21 十月 2021, 00:56
转换成byte数组吧?转换成char还得再转换
士兴 彭
等级 15 , Chongqing, China
12 五月 2022, 03:45
最简单的应该是转成 byte 数组吧,byte & 0xff 得到int
lemon
等级 13 , Jinan
5 三月 2021, 13:25
自己有两种想法 一种是先判断最大值从最高位开始取,然后判断奇数还是偶数 另一种是从最低位开始取,不断往上取,然后判断奇数还是偶数 直接除1,然后1不断乘以10是目前想到的最简便的方法。
Jinn Feng
等级 17 , Hong Kong
22 二月 2021, 11:32
why need code count = count/10?
vv
等级 13
3 三月 2021, 00:51
123 / 10 --> 12; 12 / 10 --> 1; 1 / 10 --> 0;
赵江辉
等级 9 , Beijing, China
13 五月 2020, 10:22
无语了,我怕我输出格式错误,直接复制他要求得格式,最后一只不通过,最后发现冒号用英文得,而不是他要求得里面得中文冒号
Roman
等级 41
15 五月 2020, 06:17
Thanks. We will fix it.
赵江辉
等级 9 , Beijing, China
15 五月 2020, 06:47
有好几个都有这样得问题,希望好好修改
ther23333
等级 20 , San Mateo, United States
5 四月 2020, 02:23
System.out.println("偶数: " + even + " 奇数: "+odd);
StephenWayen
等级 7 , Prague, United States
11 四月 2020, 07:28
我裂开了 怎么是这个输出格式啊 硬是改了23次 以为健壮性不够
icas_zgt
等级 22 , Шанхай
23 七月 2021, 13:34
找到工作没