zoukankan      html  css  js  c++  java
  • java 蓝桥杯基础练习 01字串 进制转换

    问题描述

    对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:

    00000

    00001

    00010

    00011

    00100

    请按从小到大的顺序输出这32种01串。

    输入格式
    本试题没有输入。
    输出格式
    输出32行,按从小到大的顺序每行一个长度为5的01串。
    样例输出
    00000
    00001
    00010
    00011
    <以下部分省略>
     
    我的思路:定义字符串数组从0到31,for循环int值从0到31,将int型转化为2进制,得到字符串,再判断字符串的长度,不够5位前面补0,最后输出字符串
    补充知识点:进制之间的转换
      十进制转成十六进制: Integer.toHexString(int i)
         十进制转成八进制 : Integer.toOctalString(int i) 
       十进制转成二进制:Integer.toBinaryString(int i) 

       十六进制转成十进制:Integer.valueOf("FFFF",16).toString() 

     

      八进制转成十进制: Integer.valueOf("876",8).toString() 

     

      二进制转十进制 :Integer.valueOf("0101",2).toString()

     

     

     1 public class _201排序 {
     2    public static void main(String[] args) {
     3      String[] strings = new String[32];
     4      for (int i = 0; i < strings.length; i++) {
     5         strings[i] = Integer.toBinaryString(i);//十进制转化为2进制
     6         //在不够5位的数字前面补0
     7         if (strings[i].length() == 1) {//1位数
     8             strings[i] = "0000"+strings[i];
     9         }else if (strings[i].length() ==2) {
    10             strings[i] = "000"+strings[i];
    11         }else if (strings[i].length() ==3) {
    12             strings[i] = "00"+strings[i];
    13         }else if (strings[i].length() ==4) {
    14             strings[i] = "0"+strings[i];
    15         }else{
    16             strings[i] = strings[i];
    17         }
    18     }
    19      for (int i = 0; i < strings.length; i++) {
    20         System.out.println(strings[i]);
    21     }
    22 }
    23 }

     

     

  • 相关阅读:
    LNMP架构三
    LNMP架构二
    LNMP架构
    LAMP架构三
    LAMP架构二
    LAMP架构
    rsync工具介绍
    mysqldump备份单表数据
    阿铭每日一题 day 14 20180125
    阿铭每日一题 day 13 20180124
  • 原文地址:https://www.cnblogs.com/zhangxue521/p/6579560.html
Copyright © 2011-2022 走看看