zoukankan      html  css  js  c++  java
  • 特殊回文数

    640 (1)

    题目:123321是一个非常特殊的数,它从左边读和从右边读是一样的
    输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n
    输入一行,包含一个正整数n
    按从小到大的顺序输出满足条件的整数,每个整数占一行
    样例输入

    52

    样例输出

    899998
    989989
    998899


    代码如下:

    
    
    import java.util.*;
    public class _002SpecialPalindromeNumber {
        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            for (int i = 10000;i <1000000;i++){  //i的取值在五位数到六位数之间
                String str = Integer.toString(i); //将整型i转换为string类型
                char[] array = str.toCharArray();
                boolean flag = true;
                for (int j = 0,k = array.length - 1;j < array.length /2 ; j++,k--) {
                        if (array[j] != array[k]) {
                            flag = false;
                            break;
                        }
                   }
                    if (flag){
                        int sum = 0;
                        for (int r = 0 ; r < array.length ; r++){
                            sum += Integer.valueOf(array[r]) - 48;
                        }
                        if (sum == n) {
                            System.out.println(i);
                        }
                    }
                }
            }
        }

    知识点:

    • char数组和String类型的转换
    String str="my string"; //创建一个字符串str
    char[] chrCharArray; //创建一个字符数组chrCharArray
    chrCharArray = str.toCharArray(); //将字符串变量转换为字符数组
    str= String.valueOf(chrCharArray ); //将字符数组转换为字符串

    转换关键在于以下两个方法:

          (1)String类的toCharArray()方法,将字符串转换为字符数组

           (2)String类的valueOf()方法,将char类型的数组转换为字符串

    • int类型转String类型

    Integer.toString(int i) 和 String.valueOf(int i)方法


    Integer类的toString方法:生成整数的十进制字符串并返回一个10进制整数的String对象
    将该参数转换为有符号的十进制表形式,以字符串形式返回它

    public static String toString(int i) { 
        if (i == Integer.MIN_VALUE) //等于最小值直接返回最小值字符串,避免getChars方法遇到最小值发生错误 
        return "-2147483648"; //判断i的位数,若位负数增加1位用来保存符号位
        int size = (i < 0) ? stringSize(-i) + 1 : stringSize(i);
        char[] buf = new char[size]; //将i转换位buf符号数组 
        getChars(i, size, buf); //因为buf数组是在方法内部生成,其他地方不会有其引用,所以直接将其引用给String内部的value保存,用来初始化String   
        return new String(buf, true);
    }

    String.valueOf(int i)其实是调用了Integer.toString(int i)方法

    640

  • 相关阅读:
    谁说AI看不懂视频?
    为什么说容器的崛起预示着云原生时代到来?
    小熊派开发实践丨漫谈LiteOS之传感器移植
    华为云如何赋能无人车飞驰?从这群AI热血少年谈起
    趣味科普丨一文读懂云服务器的那些事儿
    【API进阶之路】研发需求突增3倍,测试团队集体闹离职
    这个应用魔方厉害了,让软件开发者效率提升10倍
    数据安全无小事:揭秘华为云GaussDB(openGauss)全密态数据库
    数据湖探索DLI新功能:基于openLooKeng的交互式分析
    基本数据类型与表达式5 零基础入门学习Delphi06
  • 原文地址:https://www.cnblogs.com/qimuz/p/12670573.html
Copyright © 2011-2022 走看看