蓝桥杯基础练习 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 }
时间: 2024-10-12 20:26:28

蓝桥杯基础练习 java 01字串 进制转换的相关文章

“蓝桥杯”基础练习:01字串

问题描述 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能.它们的前几个是: 00000 00001 00010 00011 00100 请按从小到大的顺序输出这32种01串. 输入格式 本试题没有输入. 输出格式 输出32行,按从小到大的顺序每行一个长度为5的01串. 样例输出 00000000010001000011<以下部分省略> 心得: 这个题目让我想起了今天刚有的用整型数组存放大数的想法 先是每次从第一个元素开始算数处理,然后调整. 对于数组中每个元素的不溢出,用w

java中Integer包装类的详细讲解(java二进制操作,所有进制转换)

程序员都很懒,你懂的! 今天为大家分享的是Integer这个包装类.在现实开发中,我们往往需要操作Integer,或者各种进制的转换等等.我今天就为大家详细讲解一下Integer的使用吧.看代码: package com.herman.test; public class IntegerTest { public static void main(String[] args) { System.out.println("Integer中的常量***************************

2 Java基础语法(keyword,标识符,凝视,常量,进制转换,变量,数据类型,数据类型转换)

1:keyword(掌握) (1)被Java语言赋予特定含义的单词 (2)特点: 所有小写. (3)注意事项: A:goto和const作为保留字存在. B:类似于Notepad++这种高级记事本会对keyword有特殊颜色标记 2:标识符(掌握) (1)就是给类,接口.方法,变量等起名字的字符序列 (2)组成规则: A:英文大写和小写字母 B:数字 C:$和_ (3)注意事项: A:不能以数字开头 B:不能是java中的keyword C:区分大写和小写 (4)常见的命名规则(见名知意) A:

java中Integer包装类的具体解说(java二进制操作,全部进制转换)

程序猿都非常懒,你懂的! 今天为大家分享的是Integer这个包装类.在现实开发中,我们往往须要操作Integer,或者各种进制的转换等等.我今天就为大家具体解说一下Integer的使用吧.看代码: package com.herman.test; public class IntegerTest { public static void main(String[] args) { System.out.println("Integer中的常量**************************

蓝桥杯_算法训练_字串统计

其实题目已经给的很清楚了,枚举所有的情况,统计出现次数,找到符合条件的结果. 那么我们就根据这个提示完成即可: 第一步:枚举所有可能的字串: 1 #include<iostream> 2 #include<string.h> 3 using namespace std; 4 int main() 5 { 6 int n; 7 char s[61]; //存放原来的字符串 8 char a[61][61]; //存放所有可能的字串 9 int i=0,j=0,r=0; 10 11 c

java第二天_进制转换原理和补码存储方式

1.负数的表现形式,为什么如此设计? 2.-128是在内存中是如何存储的?推算过程? 3.如果字节表示未11111111,则其真实数据是多少? 4.正负数是否都支持补码的方式? 5.正数是否是负数的减一取反? ---------------------------------------------------------- 1.负数的表现形式,为什么如此设计? 负数以原码的补码形式表达. 正负数相加得0 2.-128是在内存中是如何存储的?推算过程 126 01111110 127 01111

java第二天_进制转换原理和补码存储方式作业

1.负数的表现形式,为什么如此设计? 负数以原码的补码形式表达:正负数相加得0 2.-128是在内存中是如何存储的?推算过程? 126 01111110 127 01111111 -126 10000010 -127 10000001 规律是负数减1,推理下 -128 10000000 3.如果字节表示为11111111,则其真实数据是多少? 11111111取反+1 0000 0001 是+1的原码所以真实数据就是-1 4.正负数是否都支持补码的方式? 都支持 +5 源码 00000101 取

蓝桥杯 基础练习 01字串 【暴力解决】

基础练习 01字串 时间限制:1.0s   内存限制:256.0MB 问题描述 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能.它们的前几个是: 00000 00001 00010 00011 00100 请按从小到大的顺序输出这32种01串. 输入格式 本试题没有输入. 输出格式 输出32行,按从小到大的顺序每行一个长度为5的01串. 样例输出 00000 00001 00010 00011 <以下部分省略> #include<stdio.h> int mai

lqb 基础练习 01字串 (itoa)

基础练习 01字串 时间限制:1.0s   内存限制:256.0MB 问题描述 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能.它们的前几个是: 00000 00001 00010 00011 00100 请按从小到大的顺序输出这32种01串. 输入格式 本试题没有输入. 输出格式 输出32行,按从小到大的顺序每行一个长度为5的01串. 样例输出 00000 00001 00010 00011 <以下部分省略> 分析: 可以通过itoa(int n, char *, int