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

 我来答
枫神的天空
推荐于2018-03-01 · TA获得超过1746个赞
知道小有建树答主
回答量:329
采纳率:71%
帮助的人:255万
展开全部

主要的思想是先将这个整数对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]);

}

}

不痒不痛17
2018-04-09 · TA获得超过1126个赞
知道答主
回答量:0
采纳率:100%
帮助的人:0
展开全部
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]);
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-16
展开全部
办法1:除以10,保留商数,余数就是个位,商再次除以10......;方法2:用函数转换成10进制字符串,字符串的最后一位是个位,倒数第二位是十位....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
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;
}

}}
不知道这个能不能帮你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式