- ベストアンサー
配列内の要素を検索する方法
- javaの経験が浅く配列内の要素を検索する方法が分からないので、お知恵を拝借したいです。
- 以下は作りかけのソースコードです。学生番号を入力して、その学生の情報を配列から検索する予定です。
- アドバイスやヒントをいただけると幸いです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>いま考えているのはintのIDに入っている"23"とString型のnameに入っている"荒川"をどうにかして比較して ご自身でもおっしゃっているように、この二つを比較はできないですよね。 ID配列とname配列のそれぞれの順番は全然関係ないのでしょうか。 IDとnameが配列の順番で紐づくならば、 入力された学生番号のID配列でのインデックスを取得して、 name配列から該当インデックスの値を取得すればいいのではないでしょうか。 ID配列のインデックスはループでひとつずつ値を比較していけばわかりますよね。 No.2さんの回答にあるMapを使ったり、クラスを作成したりすると こういったことを簡単に処理できるようになったりします。
その他の回答 (2)
- askaaska
- ベストアンサー率35% (1455/4149)
簡単よ。 forループで先頭から順に探していくのよ。 ちなみに今回のようなケースの場合 配列ではなく、HashMapを使うと簡単に名前が得られるわ。
お礼
ごめんなさいHashMapの言葉すら初めて聞いたことのないレベルですんでHashMapは外します まずHashMapってなに?感じです ループ文なら勉強中ですんでなんとかわかります とりあえずforループから考えて作ります
- Tacosan
- ベストアンサー率23% (3656/15482)
じゃあアドバイスだけ: 「配列内を検索」といわれたときに, 「自分ならどうするか」をきちんと言葉で書けますか? プログラミングは魔法じゃないので, 「自分ならどのように処理するのか」を認識せずに書くのはなかなか大変だと思いますよ.
お礼
回答ありがとうございます そりゃプログラムは言われた事しかしないですよね。いま考えているのはintのIDに入っている"23"とString型のnameに入っている"荒川"をどうにかして比較して一致して出力すれば良いと考えています けどint型とStringでは無理ですよね? 今のところそこしか思いつかなくてだからどう作ったら良いのかわからないです
お礼
再度ありがとうございます わかりました とりあえずループなら書いて勉強しているのでそこらへんを考えて当たってみますね