华为在线编程题系列-11-数字颠倒


问题描述:
问题描述

1. 问题涉及知识点.

  • 整数的逆序
  • StringBuffer.reverse()

2. 自己解法.

  • 解法一:按照整数每次取最底位的形式打印.
package com.chaoxiong.niuke.huawei;

import java.util.Scanner;

/**
 * Create by tianchaoxiong on 18-4-9.
 */
public class HuaWei_11_2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()){
            int key = scanner.nextInt();
            getResult(key);
        }
    }

    private static void getResult(int key) {
        int []intArr = new int[9];
        int intArrIndex = 0;
        while (key>0){
            intArr[intArrIndex] = key%10;
            intArrIndex++;
            key = key/10;
        }
        for(int i=0;i<intArrIndex;i++){
            System.out.print(intArr[i]);
        }
    }
}
  • 解法二:整数转字符,然后反向打印.
package com.chaoxiong.niuke.huawei;

import java.util.Scanner;

/**
 * Create by tianchaoxiong on 18-4-9.
 */
public class HuaWei_11_2 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()){
            int key = scanner.nextInt();
            getResult(key);
        }
    }
    private static void getResult(int key) {
        String strKey = key+"";
        int len = strKey.length();
        for(int i =0;i<len;i++){
            System.out.print(strKey.charAt(len-1-i));
        }
        System.out.println();
    }
}
  • 解法三:整数转字符转stringbuilder.调用stringBuilder.reverse()方法打印.
package com.chaoxiong.niuke.huawei;

import java.util.Scanner;

/**
 * Create by tianchaoxiong on 18-4-9.
 */
public class HuaWei_11_3 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()){
            int key = scanner.nextInt();
            getResult(key);
        }
    }
    private static void getResult(int key) {
        System.out.println(new StringBuffer(key+"").reverse());
    }
}

3. 优质答案.

null

4. 本题总结.

整数的逆序最常用有三种方法
- 采用整数的形式每次%10再/10.
- 转为字符串,从最后一个开始遍历.
- 转为字符串,再转为StringBuffer/StringBuilder 调用sb.reverse()直接逆序.

猜你喜欢

转载自blog.csdn.net/u012222078/article/details/80215737