teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

いくらでも遊べそうな雰囲気。他の言語でもやってみることをお勧めします。

2020/07/19 20:38

投稿

xebme
xebme

スコア1109

answer CHANGED
@@ -17,4 +17,21 @@
17
17
  .mapToObj(x -> String.valueOf((val >> x) & 1))
18
18
  .collect(Collectors.joining());
19
19
  }
20
- ```
20
+ ```
21
+
22
+ 再帰型。
23
+
24
+ ```Java
25
+ static String binaryString(int val) {
26
+ return binaryString(int val, "");
27
+ }
28
+ static String binaryString(int val, String acc) {
29
+ if (acc.length() == 16) {
30
+ return acc;
31
+ } else {
32
+ return binaryString(val >> 1, String.valueOf(val & 1) + acc);
33
+ }
34
+ }
35
+ ```
36
+
37
+ いくらでも遊べそうな雰囲気。他の言語でやってみることをお勧めします。

1

少し変更

2020/07/19 20:37

投稿

xebme
xebme

スコア1109

answer CHANGED
@@ -7,4 +7,14 @@
7
7
  .mapToObj(x -> ((val & (int)Math.pow(2,x)) == 0) ? "0" : "1")
8
8
  .collect(Collectors.joining());
9
9
  }
10
+ ```
11
+
12
+ 少し変えました。
13
+
14
+ ```Java
15
+ static String binaryString(final int val) {
16
+ return IntStream.iterate(15, x -> x - 1).limit(16)
17
+ .mapToObj(x -> String.valueOf((val >> x) & 1))
18
+ .collect(Collectors.joining());
19
+ }
10
20
  ```