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

回答編集履歴

1

変更

2020/09/25 15:28

投稿

momon-ga
momon-ga

スコア4828

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