java中求一个整数个十百千位的方法

如题所述

主要的思想是先将这个整数对10求余,得到个位数,再将整数除以10得到个位数以外的其余数(除以10之后因为数为int类型所以原先的个位数作为小数被舍去),然后重复操作得到其余位数

示例代码如下(因为要求个十百千位,所以没有写求更高位数的代码):

运行结果如下:

以下是文字版的代码:

import java.util.Scanner;

public class Test{

static int[] a=new int[4];//a[0]~a[3]:个位数~千位数

public static void main(String[] args){

Scanner in=new Scanner(System.in);

try{

System.out.print("输入一个整数");

int x=in.nextInt();

getValue(x);//求出个位数~千位数的方法

in.close();

}

catch(Exception e){

e.printStackTrace();

}

}

public static void getValue(int x){

int x1=x;

//先得到x的位数

int i=1,k,count=0;//count为x的位数

for(i=0;i<4;i++)//计算到千位即可

if(x1/Math.pow(10, i)!=0)

count++;

for(k=0;k<count;k++){//依次求出个位数~千位数

a[k]=x1%10;

x1=x1/10;

}

System.out.println(x+"的个位数:"+a[0]);

System.out.println(x+"的十位数:"+a[1]);

System.out.println(x+"的百位数:"+a[2]);

System.out.println(x+"的千位数:"+a[3]);

}

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-09
import java.util.Scanner;
public class Test{
static int[] a=new int[4];//a[0]~a[3]:个位数~千位数
public static void main(String[] args){
Scanner in=new Scanner(System.in);
try{
System.out.print("输入一个整数");
int x=in.nextInt();
getValue(x);//求出个位数~千位数的方法
in.close();
}
catch(Exception e){
e.printStackTrace();
}
}
public static void getValue(int x){
int x1=x;
//先得到x的位数
int i=1,k,count=0;//count为x的位数
for(i=0;i<4;i++)//计算到千位即可
if(x1/Math.pow(10, i)!=0)
count++;
for(k=0;k<count;k++){//依次求出个位数~千位数
a[k]=x1%10;
x1=x1/10;
}
System.out.println(x+"的个位数:"+a[0]);
System.out.println(x+"的十位数:"+a[1]);
System.out.println(x+"的百位数:"+a[2]);
System.out.println(x+"的千位数:"+a[3]);
}
}

本回答被网友采纳
第2个回答  2013-08-16
办法1:除以10,保留商数,余数就是个位,商再次除以10......;方法2:用函数转换成10进制字符串,字符串的最后一位是个位,倒数第二位是十位....
第3个回答  2013-08-16
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Count {
public static void main(String[] args) {
System.out.println("请输入要看百千位的数(0-65535)");

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

String numberStr = null;

int numberInt = 0;
try {
numberStr = br.readLine(); //冲键盘读入数字

numberInt = Integer.parseInt(numberStr); //转换为数字
} catch (IOException e) {
e.printStackTrace();
} catch (NumberFormatException e) {
System.out.println("您输入的数据有误!");
}
System.out.println(numberStr.length());
PrintCHS(numberStr);

}

public static void PrintCHS(String number){
switch(number.length()){
case 1:System.out.println("个位是:"+number);break;
case 2:
System.out.println("十位是:" + number.substring(0, 1));
PrintCHS(number.substring(1));
break;
case 3:
System.out.println("百位是:" + number.substring(0, 1));
PrintCHS(number.substring(1));
break;
case 4:
System.out.println("千位是:" + number.substring(0, 1));
PrintCHS(number.substring(1));
break;
case 5:
System.out.println("万位是:" + number.substring(0, 1));
PrintCHS(number.substring(1));
break;
default:
System.out.println("输入有误!");
break;
}

}}
不知道这个能不能帮你