灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2492回复:0

题目:给一个不多于5位的正整数,

楼主#
更多 发布于:2012-09-08 09:35

//请大家多多指教;
[java]
import java.util.Scanner;

/*题目:给一个不多于5位的正整数,
* 要求:一、求它是几位数,二、逆序打印出各位数字。  
*/
<span style="BACKGROUND-COLOR: #66ff99">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));
    }
}
</span>



喜欢0 评分0
游客

返回顶部