検索
クラスMoji2へ次のように13行目~14行目を追加してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
package step03; import java.util.Scanner; public class Moji2 { public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ System.out.println("文字を入力してください"); Scanner scan = new Scanner(System.in); String moji = scan.next(); int lo = moji.indexOf("か"); System.out.println(lo); moji = moji.substring(0,1); System.out.println(moji); } } |
プログラムを実行するとコンソールに「文字を入力してください」と表示されますので、コンソール画面をマウスでクリックし、「あいうえお」と入力してください。「-1」が表示されます。
再度プログラムを実行してください。今度は「あかさたな」と入力してください。
「1」と表示されました。実はこの数字は入力した文字列の「か」がある位置になります。つまり「あかさたな」と入力すると「か」は1文字目(文字列は0から数えます)にあります。もし入力した文字列に「か」が存在しない場合は、「-1」になります。
indexOf
13行目の「indexOf」が文字列を検索する命令です。
13 |
int lo = moji.indexOf("か"); |
indexOfの左側の「moji.」が検索対象の文字列です。今回は変数mojiが指定されていますので、変数mojiに格納されている「あかさたな」(入力した値)が検索の対象となります。
indexOfのかっこ()に「か」と記述されています。これが検索する文字列になります。そして「int lo =」の命令で、型が数値(int)の変数loを定義し、検索された文字位置を格納しています。
使用例
検索の命令と結果例を掲載します。
命令 | 結果(文字の位置) |
---|---|
“あいうえお”.indexOf(“う”); | 2 |
“あいうえお”.indexOf(“え”); | 3 |
“あいうえお”.indexOf(“いう”); | 1 |
“あいうえお”.indexOf(“きこ”); | -1 |