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 }
  • 相关阅读:
    超市帐单系统
    JavaOOP
    拦截器的工作原理是什么?
    struts2
    500错误
    idea添加struts框架后报错
    2019春第九周作业
    2019春第八周作业
    2019春第七周作业
    2019春第六周作业
  • 原文地址:https://www.cnblogs.com/focusonepoint/p/5743123.html
Copyright © 2011-2022 走看看