一道面试题:
一个整数,进行反序处理:
1.求出他是几位数;
2.分别输出每一位数字;
3.按逆序输出各位数字,负号与数字之间不需要间隔。
程序:
import java.util.Scanner;
public class test {
public static void main(String[] args) {
int s = 0 ;
int n = 0;
int j = 0;
int b = 0;
int e = 0;
Scanner sc = new Scanner(System.in);//获取输入的内容
n = sc.nextInt();
b = Math.abs(n);//负数转化为正数
e = b;
while(b > 0 )
{
s*=10;
s+=b%10;
b/=10;
j++;
}
if(n < 0){ //如果是负数,转化为正数后,最后转化为负数
s = -s;
}
System.out.println(j);//位数
String inStr = e+"";
for(int i=0;i<inStr.length();i++){
if(i == 0 && n < 0){
System.out.print("-"+ inStr.charAt(i) + " ");
}else{
System.out.print(inStr.charAt(i)+ " ");
}
}
System.out.println("");//换行
System.out.println(s);//反序后的数
}
}