题目要求
P1100题目链接
要求其实还是比较明确的,就是给一个int数据,将其变成二进制表示(32位),前16位整体和后16位整体交换位置,内部不变,再将新的二进制数据重新变成数值输出。
这题特别恶心的就是这个重新生成的二进制数可能超出int范围,我们只能在最后parseLong()而不能parseInt()。
对于Java用户来讲,其实就是关于Integer类和Long类的使用问题。
java.lang.Integer类的这个方法对我们处理这个问题很有帮助: public static String toBinaryString(int i)
该方法传入一个int参数,转化成String类型的二进制字符串,但没有高位0。
java.lang.Long类的这个方法对我们处理这个问题很有帮助: public static long parseLong(String s, int radix)
该方法传入一个String参数,和一个表示进制的radix参数(这里肯定是要指定为2),将二进制字符串转换成long类型的数值。
其他的处理就需要其他类的辅助,比如String,比如StringBuilder…… 具体的详见AC代码。
第一次提交——REimport java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String num = Integer.toBinaryString(scanner.nextInt());
int length = num.length();
StringBuilder builder = new StringBuilder();
for (int i = 0; i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?