回答編集履歴

1

変更

2020/09/25 15:28

投稿

momon-ga
momon-ga

スコア4820

test CHANGED
@@ -1,35 +1,29 @@
1
- ```java
2
-
3
- String s = "1234567890";
4
-
5
- String ret = "";
1
+ LouiS0616さんが、各桁の取り方を書いているので、
6
2
 
7
3
 
8
4
 
9
- for (int i = 0; i < s.length(); i++) {
10
-
11
- int c = s.charAt(i) - '0';
12
-
13
- // switch 式(java 12 以降)
14
-
15
- ret += switch (i + 1) {
5
+ > かけた値の1桁目のみ表示させたい。
16
-
17
- case 1, 7 -> (c * 2) % 10;
18
-
19
- case 2, 5, 8 -> (c * 5) % 10;
20
-
21
- case 3, 4 -> (c * 9) % 10;
22
-
23
- case 6, 9 -> (c * 7) % 10;
24
-
25
- default -> c;
26
-
27
- };
28
-
29
- }
30
6
 
31
7
 
32
8
 
9
+ について、
10
+
11
+
12
+
13
+ 1桁目の意味が、1234567890の一桁目と、計算結果の一桁目と異なっているので、
14
+
15
+ 意識した方がよいです。
16
+
17
+
18
+
19
+ 1の位を取得したいなら10で割った余りを求めればよいです。
20
+
21
+
22
+
23
+ ```java
24
+
25
+ int num = 4;
26
+
33
- System.out.println(ret); // 2076524530
27
+ System.out.println((num * 4) % 10); // 6
34
28
 
35
29
  ```