描述
给定一个整数,要求从个位开始分离出它的每一位数字。
输入
输入一个整数,整数在1到100000000之间。
输出
从个位开始按照从低位到高位的顺序依次输出每一位数字。数字之间以一个空格分开。
样例输入
123
样例输出
3 2 1
解法一:(普通解法)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int a,b,c,d,e,f,g,h,i;
int n=in.nextInt();
//由于所给出的范围为1到100000000,所以可从范围出发
//判断该数所在的范围,然后再输出每位上的数
i=n%10;
h=n/10%10;
g=n/100%10;
f=n/1000%10;
e=n/10000%10;
d=n/100000%10;
c=n/1000000%10;
b=n/10000000%10;
a=n/100000000;
if(n==100000000) {
System.out.print(i+" ");
System.out.print(h+" ");
System.out.print(g+" ");
System.out.print(f+" ");
System.out.print(e+" ");
System.out.print(d+" ");
System.out.print(c+" ");
System.out.print(b+" ");
System.out.print(a+" ");
}else {
if(n<100000000&&n>=10000000) {
System.out.print(i+" ");
System.out.print(h+" ");
System.out.print(g+" ");
System.out.print(f+" ");
System.out.print(e+" ");
System.out.print(d+" ");
System.out.print(c+" ");
System.out.print(b+" ");
}
else {
if(n<10000000&&n>=1000000) {
System.out.print(i+" ");
System.out.print(h+" ");
System.out.print(g+" ");
System.out.print(f+" ");
System.out.print(e+" ");
System.out.print(d+" ");
System.out.print(c+" ");
}
else {
if(n<1000000&&n>=100000) {
System.out.print(i+" ");
System.out.print(h+" ");
System.out.print(g+" ");
System.out.print(f+" ");
System.out.print(e+" ");
System.out.print(d+" ");
}
else {
if(n<100000&&n>=10000){
System.out.print(i+" ");
System.out.print(h+" ");
System.out.print(g+" ");
System.out.print(f+" ");
System.out.print(e+" ");
}
else {
if(n<10000&&n>=1000) {
System.out.print(i+" ");
System.out.print(h+" ");
System.out.print(g+" ");
System.out.print(f+" ");
}
else {
if(n<1000&&n>=100) {
System.out.print(i+" ");
System.out.print(h+" ");
System.out.print(g+" ");
}
else {
if(n<100&&n>=10) {
System.out.print(i+" ");
System.out.print(h+" ");
}
else {
System.out.print(i+" ");
}
}
}
}
}
}
}
}
}
}
解法二:(简便解法)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int a,b;
//无论哪个数都可从它的个位输出,然后循行渐进输出每位上的数
for(int i=0;i<9;i++) {
b=n/10;
a=n%10;
n=n/10;
if(b==0&&a!=0 ) {//可以直接b==0,不需要a!=0也可以
//当输到最高位时,将最高位输出之后则应该结束循环。
System.out.println(a);
break;
}
System.out.print(a+" ");
}
}
}