我在这里有代码但是我不确定在我将用户输入作为int
后如何显示位数。
public class Chapter8 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n;
System.out.print("Enter a positive integer: ");
n = in.nextInt();
if (n <= 0) {
while (n != 0) {
System.out.println(String.format("%02d", 5));
}
}
}
答案 0 :(得分:0)
您可以将数字除以10.每次将数字缩短1位数,直至数字达到0:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n;
System.out.print("Enter a positive integer: ");
n = in.nextInt();
int counter = 0;
while(n > 0){
n = n / 10;
counter++;
}
System.out.println(counter);
}
答案 1 :(得分:0)
一个快速的解决方案是将整数转换为字符串,然后测量它有多少个字符:
String myNum = String.valueOf(n);
System.out.println(myNum.length());
答案 2 :(得分:0)
您可以简单地将整数转换为char数组。
int x = 20;
char[] chars = x.toCharArray();
然后你可以得到数组的长度。
int numberOfDigits = chars.length();
希望它有所帮助。
答案 3 :(得分:0)
如果您的老师像我一样狡猾,这会给您输入的数字位数以及结果数字中的位数......
import java.util.Scanner;
public class StackOverflow_32898761 {
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
try
{
int n;
System.out.println("Enter a positive integer: ");
String value = input.next();
try
{
n = Integer.parseInt(value);
if (n < 0)
{
System.out.println("I said a POSITIVE integer... [" + value + "]");
}
else
{
System.out.println("You entered " + value.length() + " digits");
System.out.println("The resulting integer value has " + String.valueOf(n).length() + " digits");
System.out.println("The integer value is " + n);
}
}
catch (Exception e)
{
System.out.println("Invalid integer value [" + value + "]");
}
}
finally
{
input.close();
}
}
}