zoukankan      html  css  js  c++  java
  • 【编程题】数字黑洞

      附上Java实现代码。

     1 package NetEasy;
     2 
     3 /**
     4  * 数字黑洞
     5  */
     6 
     7 import java.util.Scanner;
     8 
     9 public class NumBlackHole {
    10 
    11     public static void main(String[] args) {
    12         Scanner in = new Scanner(System.in);
    13         String number = in.next();
    14 //        StringBuffer numStr = new StringBuffer();
    15 //        numStr.append(number);
    16         if(number.charAt(0)==number.charAt(1) &&
    17                 number.charAt(0)==number.charAt(2)&&
    18                 number.charAt(0)==number.charAt(3))
    19             System.out.println(number+" - "+number+" = 0");
    20         else{
    21             boolean flag = true;
    22 //            int num = Integer.valueOf(number);
    23             while(flag){
    24                 number = computeNum(number);
    25                 if(number.equals("6174"))
    26                     flag = false;
    27             }
    28         }
    29 
    30     }
    31 
    32     private static String computeNum(String number) {
    33 //        String number = Integer.valueOf(num).toString();
    34         StringBuffer numOrder = new StringBuffer(number);
    35         for(int i = 0; i < 4; i++){
    36             for(int j = i; j < 4; j++){
    37                 if(numOrder.charAt(i) < numOrder.charAt(j)){
    38                     char temp = numOrder.charAt(i);
    39                     numOrder.setCharAt(i, number.charAt(j));
    40                     numOrder.setCharAt(j, temp);
    41                 }
    42             }
    43         }
    44 //        StringBuffer numUpper = numOrder;  //这样复制,后面numOrder反转了 numUpper会跟着变化
    45         String numUpper = numOrder.toString();
    46         String numLower = numOrder.reverse().toString();
    47         int n = Integer.valueOf(numUpper)-Integer.valueOf(numLower);
    48         StringBuffer result = new StringBuffer(Integer.valueOf(n).toString());
    49         if(result.length() == 1)
    50             result.insert(0, "000");
    51         if(result.length() == 2)
    52             result.insert(0, "00");
    53         if(result.length() == 3)
    54             result.insert(0, "0");
    55         String resultnum = result.toString();
    56         System.out.println(numUpper+" - "+numLower+" = "+ resultnum);
    57         return resultnum;
    58     }
    59 
    60 }
  • 相关阅读:
    使用软引用构建缓存(转载)
    Android的View和ViewGroup分析(转载)
    WiFiDirect功能在Android 4.0中出现
    Android 利用ViewPager、Fragment、PagerTabStrip实现多页面滑动效果(转载)
    android API之ActivityGroup 转载
    .9.png的制作
    android ScrollView的API详解
    JAVA的重写和重载
    关于dialog特殊设置,不销毁
    查看各国msn首页最简单的方法
  • 原文地址:https://www.cnblogs.com/focusonepoint/p/5743123.html
Copyright © 2011-2022 走看看