import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int num = scan.nextInt(); //关闭scan scan.close(); //第一种方法: //这个其实很简单的,只要用到String.valueof()将其转成字符串,然后用length()就可以得到这个位数了,是不是很简单呢 //判断是否大于0 // if(num<=0){ // System.out.print(num); // } // else{ // //首先将int 转成string // String num1=String.valueOf(num); // int count=num1.length(); // //打印位数 // System.out.print(count); // } //第二种方法: if(num<=0){ System.out.print(num); } else{ int count=0;//用于得到位数 /* 分析:如果这个数是9876 第一次循环:9876%10=6 -->得到个位 9876/10=987 --->得到出去个位的数字 第二次循环:987%10=7 987/10=98 第三次循环:98%10=8 98/10=9; 第四次循环:9%10=9 9/10=0; 用这个0来控制循环终止 */ while(num!=0){ int ge=num%10; num=num/10; //循环一个加个1 count++; } //打印位数 System.out.print(count); } } }