解题思路:题目不难,就是转完而精致再转回来,但是题目的描述有点恶心
注意事项:
注意题目中说的是从右端开始的第四到第七位,但是截取出来的数字还是要求从左往右计算的。我注释了很多测试代码,直到最后面看了其他人题解才明白过来
参考代码:
package cn.yzf.clanguageTest;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
StringBuffer sbuf = new StringBuffer();
sbuf.append(Integer.toBinaryString(n)); //数据存储并转化为二进制
//System.out.println(sbuf.reverse());
sbuf = sbuf.reverse();
String str = sbuf.substring(4,8); //截取
StringBuffer sbf = new StringBuffer();
sbf.append(str);
sbf = sbf.reverse(); //对截取的数字进行逆序
str = sbf.toString();
//String str=sbuf.substring(sbuf.length()-8, sbuf.length()-4); //另一种截取方式
//int a =Integer.parseInt(String.valueOf(str)); //测试二进制数据是否正确
int a =Integer.parseInt(String.valueOf(str),2);
System.out.println(a);
}
}
// =============Dragon be here!==========/
// ┏┓ ┏┓
// ┏┛┻━━━┛┻┓
// ┃ ┃
// ┃ ━ ┃
// ┃ ┳┛ ┗┳ ┃
// ┃ ┃
// ┃ ┻ ┃
// ┃ ┃
// ┗━┓ ┏━┛
// ┃ ┃神兽保佑
// ┃ ┃代码无BUG!
// ┃ ┗━━━┓
// ┃ ┣┓
// ┃ ┏┛
// ┗┓┓┏━┳┓┏┛
// ┃┫┫ ┃┫┫
// ┗┻┛ ┗┻┛
// ━━━━━━神兽出没━━━━━━
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复