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

回答編集履歴

2

追加

2020/08/30 12:37

投稿

amiya
amiya

スコア1218

answer CHANGED
@@ -27,4 +27,12 @@
27
27
  > +1が何をしているのかStringが0からはじまるからなのかわからないです。
28
28
 
29
29
  このコードからでは、`+1`が何をしているのかは不明ですが(そもそもこのコードの意味も不明)、
30
- `String`は、文字列のオブジェクトですので、`0`から始まる(?)という事はありません。
30
+ `String`は、文字列のオブジェクトですので、`0`から始まる(?)という事はありません。
31
+
32
+ ちなみに、`value01+1`で、`int value01`ですから、`+1`しているのは、`int`に対してであって、
33
+ `String`に対して行っているわけではありません。
34
+
35
+ `int`変数に対する`+1`は、その値に1を加算したものになりますが、
36
+ `String`変数に対する`+1`は、自動的に`String`に変換されて、連結されますので、
37
+ `"ABC"`だとしたら、`"ABC1"`になります。
38
+ JAVAのString型は、C言語のchar型のように、直接文字の値が加算されることはありません。

1

追加

2020/08/30 12:37

投稿

amiya
amiya

スコア1218

answer CHANGED
@@ -10,4 +10,21 @@
10
10
  (20200831+1)%10でまちがいないでしょうか?
11
11
 
12
12
  `value01+1` ですので、`inData`の値とは関係ありません。
13
- 少なくともこのメソッドを見た範囲では。
13
+ 少なくともこのメソッドを見た範囲では。
14
+
15
+ ---
16
+ > num01をvalue01に変更しました。
17
+ `int value01= Integer.parseInt(inData.substring(i,i+1));`
18
+ `int num02 = (value01+1)% 10;`
19
+
20
+ `inData.substring(i,i+1)` とありますが、`i`の定義も内容も不明です。
21
+
22
+ > この場合(20200831+1)%10でまちがいないでしょうか?
23
+
24
+ `substring`は文字列の内から一部を切りだすメソッドですので、
25
+ `inData`がそのままわたるという事はありません。
26
+
27
+ > +1が何をしているのかStringが0からはじまるからなのかわからないです。
28
+
29
+ このコードからでは、`+1`が何をしているのかは不明ですが(そもそもこのコードの意味も不明)、
30
+ `String`は、文字列のオブジェクトですので、`0`から始まる(?)という事はありません。