每日一练27——Java转换为二进制(8kyu)

题目

给定一个非负整数n,编写一个函数toBinary/ToBinary以二进制格式返回该数字。

测试用例:

import org.junit.Test;
import static org.junit.Assert.assertEquals;
import org.junit.runners.JUnit4;

public class KataTest {
    @Test
    public void testToBinary() {
        assertEquals(1, Kata.toBinary(1));
        assertEquals(10, Kata.toBinary(2));
        assertEquals(11, Kata.toBinary(3));
        assertEquals(101, Kata.toBinary(5));
    }
}

解答

我的

public class Kata {

    public static int toBinary(int n) {
        return Integer.parseInt(Integer.toBinaryString(n));
    }

}

别人的:

务实

public class Kata {

  public static int toBinary(int n) {
        int multiplier = 1;
        int value = 0;
        
        do {
            value += (n % 2) * multiplier;
            n /= 2;
            multiplier *= 10;
        } while (n > 0);
        
        return value;
    }

}

偷懒

public class Kata {

  public static int toBinary(int n) {
    
    String binaryString = Integer.toBinaryString(n);
    return Integer.parseUnsignedInt(binaryString);
  }

}

思考

这里的parseUnsignedInt()和parseInt()看源码注释是区别于带不带符号,但是我并没有看出区别,囧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,208评论 0 13
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • 看了《星际特工》后,被酷炫的特效所震撼,但我更注重的是电影所表现的宏达宇宙观,人与宇宙中的一些关系思考。 ...
    一座城池city阅读 1,066评论 0 0
  • 不是年华易老,是你流汗太少
    封之之阅读 108评论 0 0
  • 两百一十二章 “小妹,你怎么让那小子走了呢?”燕池悟有些不理解。 “哥哥,每个人都会有些秘密,既然称为秘密,那么不...
    转角花开阅读 1,889评论 3 24