[英]How to count leading zeros in a string as the length?
我必须制作这个计算器程序,将字符串中的元素数计算为数字,(必须使用字符串,因为必须处理 integer 溢出)。 我遇到的问题是它不计算第一个零,例如: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);
}
}
您可以先尝试将输入读取为字符串,然后从中创建一个新的 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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.