求对称数

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Calendar;

/*
 * 文件名: SymmetrySum.java
 *
 * 创建日期: 2010-6-23
 *
 * Copyright(C) 2010, by BruceLee.
 *
 * 原始作者: <a href="mailto:binlijava@hotmail.com">libin</a>
 *
 */

/**
 * 输入一个整型数m(命令行参数、命令行输入或对话框方式均可),
 * 判断其是否满足条件m>1,若满足,
 * 计算并输出m以内(包括m自身)的所有对称数之和。
 *
 * @author <a href="mailto:binlijava@hotmail.com">libin</a>
 *
 * @version $Revision$
 *
 * @since 2010-6-23
 */
public class SymmetrySum {

 public static void main(String[] args) {
  System.out.print("请输入一个整型数后按回车键:");
  InputStreamReader isp = new InputStreamReader(System.in);
  BufferedReader br = new BufferedReader(isp);
  try {
   long startTime = Calendar.getInstance().getTime().getTime();
   String strM = br.readLine().trim();
   int len = strM.length();
   int m = Integer.parseInt(strM);
   int sum = 0;
   if(m > 1){
    //循环从1到m的整型数
    for(int i=1;i<=m;i++){
     boolean flag = true;
     String strI = i+"";
     int lenI = strI.length();
     //分别从首尾扫描,判断从1到m的某个具体整型数是否为对称数
     for(int j=1;j<lenI;j++){
      if(i != j){
       String arg0 = strI.charAt(j-1)+"";
       String arg1 = strI.charAt(lenI-j)+"";
       int args0 = Integer.parseInt(arg0);
       int args1 = Integer.parseInt(arg1);
       if (args0 != args1){
        flag = false;
        break;
       }
      }
     }
     if(flag){
      sum += i;
     }
    }
    System.out.println(m+"以内包含"+m+"自身的对称数之和SUM="+sum);
   }
  }catch(Exception e){
   e.printStackTrace();
  }
   
 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值