-5

なぜ結果が6なのか誰か説明してもらえますか? ありがとう

String[] s = { "A", "B", "C", "D" };
String b = "ABRACADABRA";
int i = s.length - 1;
System.out.print( b.indexOf( s[ i ] ) );

s の長さは 4 で i = 3 ですが、s[i] とはどういう意味ですか?

4

3 に答える 3

5

Java では、文字列と配列は0-indexedです。つまり、最初の要素のインデックスは 0、2 番目の要素のインデックスは 1 というようになります。

Sos[3]4 番目の要素が でsあることを意味しDます。は の7 番目の文字であり、インデックス 6 にあるため、式b.indexOf("D")は 6です。DABRACADABRA

于 2012-12-23T04:31:49.947 に答える
2

i はインデックスを意味するので、s には

i|s

0|A
1|B
2|C
3|D

したがって、括弧内では、必要な値のインデックスを指定しているだけです。したがって、s[3] は D を返します。次に、与えた値のインデックスを見つけるように言い、値 'D' を与えたので、'D' が ABRACADABRA のどこにあるかを探します。配列は 0 から数え始めることに注意してください。

0|A
1|B
2|R
3|A
4|C
5|A
6|D
....

D が配置されているインデックスは 6 です。

于 2012-12-23T04:35:09.460 に答える
2

i は配列インデックスです。配列では、インデックスは常に 0 から始まります。つまり、最初の位置でデータを取得したい場合は、u 'A' を与える s[0] を実行する必要があります。

その常に-取得したい実際の位置から1。

于 2012-12-23T04:36:04.563 に答える