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]);
}
}
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
2013-08-16
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;
}
}}
不知道这个能不能帮你