java 自定义一个整数,计算它是几位数?

自定义一个整数,计算它是几位数?JAVA
用 for循环!~!~

/**
* <p>Title:输入一个0到99999之间的数,判断是几位数 </p>
*/
import java.io.*;
public class bit {
public static void main(String[] args)throws IOException {
// bit bit = new bit();
System.out.print("please input a number between(0-99999) ");
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
int num=Integer.parseInt(reader.readLine());
if(num>=0&&num<=99999)
{
int temp,i=0;
for ( ; num!=0; i++) {
temp=num%10;
num/=10;
System.out.print(temp+" , ");
}
System.out.print("\nthis number have "+i+" bit");
}
else
System.out.print("this number is error!");
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-13
/*标志位,判断是否退出循环*/
boolean b = true;
/*循环接受用户输入的数值,并判断是位数,直到用户输入!*/
while(b){
System.out.println("请输入数值,退出输入!:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {

String str = br.readLine();

if("!".equals(str)){
//退出
b = false;
}else{
try{
/*匹配是否是整数*/
if(str.matches("[-\\+]?\\d{1,12}")){
int num = Integer.valueOf(str);

/*for循环求出数值长度*/
int len = 1 ;
for(;;len++){
num /= 10;
if(num == 0){
break;
}
}
System.out.println("位数:" + len);
}else{
System.out.println("请输入有效整数!");
}

}catch(NumberFormatException e){
System.out.println("请输入有效整数!");
}

}

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
第2个回答  2009-10-13
直接把整数转换成字符串String,java就能读出它的长度了,就是位数
简单有效!
第3个回答  2009-10-13
求出它的长度就知道是几位数了。
int a = 123456;
System.out.println(String.valueOf(a).length());
第4个回答  2009-10-13
public class Test {

public static void main(String[] args) {
int a = 2934538;
int count = 1;
for (;; count++) {
a = a / 10;
if (a == 0)
break;
}
System.out.println(count);
}
}
相似回答