//请大家多多指教;
import java.util.Scanner;
/*题目:给一个不多于5位的正整数,
* 要求:一、求它是几位数,二、逆序打印出各位数字。
*/
public class Reversed {
int n = 0;
public int Digit(int m){
do{
n++;
}while(m > Math.pow(10, n));
return (n);
}
public int Output(int m){
int sum = 0;
for(int i = 0;i < n;i++){
int temp1 = (int) (m%Math.pow(10, n-i));
int temp2 = (int) (temp1/Math.pow(10, n-i-1));
int temp = (int) (temp2 * Math.pow(10, i));
/*System.out.println(i+","+temp1);
System.out.println(i+","+i+","+temp2);
System.out.println(i+","+temp);*/
sum += temp;
}
return sum;
}
public static void main(String[]args){
Reversed r = new Reversed();
System.out.println("请输入一个整数:");
Scanner in = new Scanner(System.in);
int x = in.nextInt();
System.out.println(x+"是一个"+r.Digit(x)+"位数");
System.out.println(x+"逆序输出的结果是:"+r.Output(x));
}
}
第二种方法:
import java.util.Scanner;
/*题目:给一个不多于5位的正整数
* ,要求:一、求它是几位数,
* 二、逆序打印出各位数字。
*/
public class Reversed2 {
public int Digit(String s){
int a = s.length();
return a;
}
public String Output(String s){
String str ="";
char[]c = s.toCharArray();
for(int i = c.length-1;i >= 0;i--){
str += c[i];
}
return str;
}
public static void main(String[]args){
Reversed2 r = new Reversed2();
System.out.println("请输入一个数字串:");
Scanner in = new Scanner(System.in);
String s = in.next();
System.out.println(r.Digit(s));
System.out.println(r.Output(s));
}
}