首页 > 解决方案 > Java,程序假设确定奇数的整数

问题描述

我是 100% 的 Java 新手。不能使用字符串或“中断”或数组来解决问题。任何反馈都很棒:)

路线图是:

  1. 根据用户输入命名数字。

  2. 声明一个计数器变量并将其初始化为零。

  3. 使用模运算符将输入的最右边数字保存在变量中:rightMost = input % 10

  4. 更新 input = input/10 的值

  5. 确定最右边的数字是否为奇数。使用模运算符 % 进行整除性检验。

  6. 如果 rightMost 是奇数,则将计数器加 1。

  7. 如果 rightMost 是偶数,则什么也不做。

  8. 如果输入不为零,则转到步骤 3。

  9. 如果输入为零,则程序已到达最后一位,需要转到第 10 步。

  10. 显示结果。计数器将具有原始数字中奇数位数的值。

我的代码如下:(我可能还没有走多远,但我正在尝试)(我可能需要做一段时间或做while方法)(任何有!,=<作为列表的指南都会很感激)

import java.util.Scanner;

public class Labtwo 
{

    public static void main(String[] args) 
    {
        System.out.print("Please enter an integer:");// program lets user know to input a number
        // allow keyboard access for user
        // likely in a while or do while method?
        Scanner kbd = new Scanner(System.in); // allows user input labels it as kbd
        int input = kbd.nextInt();// kbd new value is input as a integer
        //int counter = 0;
        int rightMosteven= 0;
        int rightMostodd = 0;
        
        
        while (input > 0){
                int rightMost = (input % 10);
                if(rightMost%2==0)
                 rightMosteven ++;
                else
                rightMostodd++;
                input=input/10;
        }
        
        System.out.printf("Number of odd digits: "+ rightMostodd);
        //System.out.printf("Number of even digits: "+ rightMosteven);
        
    }

}

这是我更新的新代码,我只是不确定 == 是否被视为字符串,如果是,那么我的答案是 0,如“无法使用部分”所述

标签: java

解决方案


该答案假设您要计算某个输入数字具有的奇数位数。事实上,使用模数是一种可行的方法。考虑这个版本:

Scanner sc = new Scanner(System.in);
int input = sc.nextInt();
int counter = 0;

while (input > 0) {
    if (input % 2 != 0) {
        ++counter;
    }

    input /= 10;
}

以下是对以下示例输入会发生的情况的细分12345

1234  => last digit even, counter = 0
         divide input by 10
123   => last digit odd, counter = 1
         divide input by 10
12    => last digit even, counter = 1
         divide input by 10
1     => last digit odd, counter = 2
         divide input by 10
0     => terminate while loop

推荐阅读