Как сделать ввод вместо ввода числа в поле - PullRequest
0 голосов
/ 28 октября 2019

У меня установлен номер 456, где он считывает, сколько у него цифр. Так что программа при запуске скажет "3". Я хочу сделать это там, где у меня есть вход, чтобы просто ввести номер. Это кажется таким простым, и я зашел так далеко, но не могу понять. Пожалуйста, помогите, я был бы очень признателен вам.

package recursion;
import java.util.Scanner;

public class recursiontest {

    //adding the scanner
    Scanner b = new Scanner (System.in);

    public static int digitCounted(int number) {

        //starting
        if (number == 0) {
            return 0;
        }

        return 1 + digitCounted(number/10);
    }

    public static void main(String[] args) {

        int number = 456;
        int result = digitCounted(number);
        System.out.println("Number of digits in the number is: " + result);

    }
}

Я не могу понять это.

Ответы [ 2 ]

1 голос
/ 28 октября 2019

Вам просто нужно использовать свой сканер.

import java.util.Scanner;

public class recursiontest {

    public static int digitCounted(int number) {
        if (number == 0) {
            return 0;
        }

        return 1 + digitCounted(number/10);
    }

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

        int number, result;

        System.out.print("Please enter the number: ");
        number = sc.nextInt();

        result = digitCounted(number);
        System.out.println("Number of digits in the number is: " + result);
    }
}
0 голосов
/ 28 октября 2019

Я думаю, это то, что вы ищете

import java.util.*;    
public class Main
{
        public static void main(String[] args) {
            System.out.println("First input number digits "+ takeInput());
            System.out.println("Second input number digits "+ takeInput());
        }

    public static int takeInput() {
      Scanner scanner= new Scanner(System.in);
      int input =  scanner.nextInt();
      return (input+"").length();
    }
}
...