题目要求
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
关注
打赏
热门博文
- 【Linux】Ubuntu20.04安装和卸载MySQL8
- 【Linux】Ubuntu 20.04 报错 curl: (23) Failure writing output to destination 的解决方法
- 【Java】JUnit 4.13.2 警告 ‘assertEquals(double, double)‘ is deprecated 的解决方法
- 【JavaScript】处理 @parcel/transformer-js: Browser scripts cannot have imports or exports.
- 【Node.js】Windows环境安装配置NVM和Node.js
- 【Python】处理TypeError: Plain typing.NoReturn is not valid as type argument
- 【Python】Matplotlib可视化50例
- 【C语言】C语言修改MySQL数据库
- 【Java】从默认包导入类和对象报错的解决方法
- 【Java】panel.getGraphics()报错空指针异常的解决方法