【问题标题】:How to count leading zeros in a string as the length?如何将字符串中的前导零计算为长度?
【发布时间】:2022-01-16 10:09:02
【问题描述】:

我必须制作这个计算器类的程序,将字符串中的元素数计算为数字,(必须使用字符串,因为必须处理整数溢出)。 我遇到的问题是它不计算第一个零,例如: 1233 计数将是 4 0001233 计数仍然是 4,但我需要它来添加第一个 000,所以它是 7。 知道如何在没有太大变化的情况下实现这一点吗?

package com.company;

import java.math.BigInteger;

import java.util.*;

public class Main {

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        System.out.print("Enter your number here: ");

        BigInteger input = scan.nextBigInteger();
        String inputstr = input.toString();
        System.out.println("Number of elements: " + inputstr.length());
        System.out.println("Number of different numbers: " + inputstr.chars().distinct().count());
        int number = input.intValue();
        int even_count=0;
        int odd_count=0;

        while (number>0){
            int rem=number%10;

            if (rem%2==0){
                even_count++;
            }
            else{
                odd_count++;
            }
            number=number/10;
        }
        System.out.println("Even numbers: "+ even_count);
        System.out.println("Odd numbers: "+ odd_count);

            }
        }

【问题讨论】:

  • 如果我能以某种方式把前面的零放在最后,也许它会起作用......那会算他们

标签: java numbers calc


【解决方案1】:

您可以先尝试将输入读取为字符串,然后从中创建一个新的 BigInteger,如下所示:

String inputstr = scan.next();
System.out.println("Number of elements: " + inputstr.length());
System.out.println("Number of different numbers: " + inputstr.chars().distinct().count());
BigInteger input = new BigInteger(inputstr);

【讨论】:

    猜你喜欢
    • 2011-12-29
    • 1970-01-01
    • 1970-01-01
    • 2020-01-31
    • 2017-12-05
    • 2018-01-30
    • 1970-01-01
    • 2015-10-17
    • 1970-01-01
    相关资源
    最近更新 更多