Tips

【Java】プログラム作成練習問題35

【Java】プログラム作成練習問題35

プログラム作成練習問題35回となります。

※この出題形式に関しては答えは1つではありません。
解答例はできるだけ複数載せるつもりですが、問題文の要件を満たしていれば正解として下さい。

問題

char型の配列charsの要素から文字を検索し、その文字のインデックスを表示するプログラム。
ただし、検索文字が複数ある場合はインデックスの値が大きい方を表示すること。
もし検索文字が配列に存在しない場合は -1 と表示すること。
例) chars : ‘a’, ‘p’, ‘p’, ‘l’, ‘e’
検索文字 : p
表示結果 : 2

解答例1
[java] public class Excercise_035 {
public static void main(String[] args) {
char chars[] = { ‘a’, ‘p’, ‘p’, ‘l’, ‘e’ };

char key = ‘p’;
int index = -1;

for(int i = chars.length – 1; i >= 0; i–) {
if(chars[i] == key) {
index = i;
break;
}
}

System.out.println(index);
}
}
[/java]


解答例2
[java] public class Excercise_035 {
public static void main(String[] args) {
char chars[] = { ‘a’, ‘p’, ‘p’, ‘l’, ‘e’ };

char key = ‘p’; // 検索文字
int index = -1;

for(int i = 0; i < chars.length; i++) {
if(chars[i] == key) {
index = i;
}
}

System.out.println(index);
}
}
[/java]

問題34の間違い例と同じです。
breakを取ると2つ目の「p」も合致し、indexを上書きすることになるため、大きい方のインデックスが表示されます。


新連載はじまりました!新Java基礎 連載リンク

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search