前提・実現したいこと
大学の講義で出されている問題(Java)についての質問になります。
内容としては、メインメソッドで用意されている2つの配列(コードの配列と品物の配列)から、
コードの配列とコマンドライン引数から入力された値が正しければ、そのコードを品物名を出す、
というプログラムになります。
縛りとしては、コマンドライン引数がコードの配列に合致するかどうかを1メソッド、
その結果を以て表示するメソッドを1メソッドでやる必要があります。
コードは下記に記載していますが、おおよそこのような流れを実現したいです。
1:コマンドライン引数を入力
2:検索メソッドで、コマンドライン引数とコードの配列を比較
3:引数と配列の中身が合致していたら、
4:表示メソッドにて、「コマンドライン引数(コード)の品物は"品物コード配列名"です」と表示させる
3':引数と配列の中身が合致しなければ、
4':「コマンドライン引数は登録されていません」と表示させる
発生している問題・エラーメッセージ
エラーの類は発生していないのですが、考え方の部分で行き詰っています。
現在私の考えは以下になります。
【考え】
コマンドライン引数をint型で受け取り、コードの配列と比較、
コードの配列とコマンドライン引数が合致したら、合致した値をメインへリターンしたのち、
表示メソッドへその値と品物配列を引数で渡して表示。
ですが、表示メソッドを作成する際、コードの配列の値と
品物の配列の値、どうやって結びつけるのか?という部分が全くピンと来ず、
こちらで質問した次第です。
該当のソースコード
class MainClass{
public static void main(String[] args) {
※ 商品コード配列
int[] arrayCode = {101,845,261,166,876,620,733,122};
※ 品物名配列
String[] arrayName = {"事務机型","応接机","会議用机","事務机",
"畳み机","鉄製机","机","学生デスク"};
subClass1 sub1 = new subClass1(); subClass2 sub2 = new subClass2(); int input = Integer.parseInt(args[0]); int result = sub1.search(input,arrayCode); System.out.println(result); sub2.view(result,arrayName); }
}
class subClass1{
int search(int array,int[] nameArray) { int resultNum = 0; for(int i = 0; i < nameArray.length; i++) { if(array == nameArray[i]) { resultNum = nameArray[i]; }else { resultNum = array; } } return resultNum; }
}
class subClass2{
void view(int result,String[] ItemArray) { }
}
試したこと
上記にも記載した通り、縛りが検索と表示を別メソッドにする、のみなので、
商品コード配列を文字列として、品物名配列と併せて二次元配列にして考えたりしましたが、
コードと商品名の両方を、値としてどうやって検索メソッドで抽出してやるかがピンと来ません。
ガッツリ回答を求めているというよりは、考え方・ヒントを頂ければと思います。
どうぞよろしくお願い致します。
補足情報(FW/ツールのバージョンなど)
Version: 2021-09 (4.21.0)
JavaSE1.7