解题思路:题目不难,就是转完而精致再转回来,但是题目的描述有点恶心
注意事项:
注意题目中说的是从右端开始的第四到第七位,但是截取出来的数字还是要求从左往右计算的。我注释了很多测试代码,直到最后面看了其他人题解才明白过来
参考代码:
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 人评分