userProfileというユーザー定義メソッドを作り、引数は数値型
戻り値:文字列型を要素に持つ配列型
は
String[] userProfile(int datas){
:
}
で合っていると思います.
出来れば, 引数の変数名は "datas" では無く(配列の番号の指定のようですので) "number" 等のほうが良いかなと思います.
メソッド内で以下の値を要素とする配列(計3つ)を作成し、
値1 ... ["1","技育太郎","東京","男","プログラマー"]
値2 ... ["2","技育花子","北海道","女","システムエンジニア"]
値3 ... ["3","技育三郎","大阪","男","Webエンジニア"]
String[] datas = new String[] {"1","技育太郎","東京","男","プログラマー"},
{"2","技育花子","北海道","女","システムエンジニア"},
{"3","技育三郎","大阪","男","Webエンジニア"}
これは, swordone さんがご指摘の通り, まずコンパイルを通りません. 2次元配列を習っていらっしゃるかどうかというところです.
また, 問題文には「配列(計3つ)を作成」とあります. すなわち,
java
1String[] data1 = {"1","技育太郎","東京","男","プログラマー"};
2String[] data2 = {"2","技育花子","北海道","女","システムエンジニア"};
3String[] data3 = {"3","技育三郎","大阪","男","Webエンジニア"};
ではないでしょうか.
順番に各配列の0番目の値と引数から受け取った数値型の値で比較処理をして
比較して一致した場合、呼び出し元へ一致した配列を返却したい。
※数値型と文字列型を比較する時に型変換をする。
3つの配列のそれぞれ 0 番目すなわち"1","2","3"の部分と引数 datas を比較して, 一致したらその配列を返す, 件の中心部分でしょうか.
data1 のみで考えます.
0 番目の値は data1[0] で String 型です. 引数の datas は int 型です.
型変換には2通りあります. String を int にするか, int を String にするか, です.
valueOf を習ったそうですので, String の datda1[0] を int (正確には Integer) に変換します.
Integer.valueOf(data1[0])
です. そして引数と比較します.
Integer.valueOf(data1[0]) == datas
比較して一致したら処理を分岐するので if 文の条件とします
if(Integer.valueOf(data1[0]) == datas){
}
一致した配列, すなわち data1 を返却します.
if(Integer.valueOf(data1[0]) == datas){
return data1;
}
これを各配列で順番に行います.
java
1if(Integer.valueOf(data1[0]) == datas){
2 return data1;
3}
4if(Integer.valueOf(data2[0]) == datas){
5 return data2;
6}
7if(Integer.valueOf(data3[0]) == datas){
8 return data3;
9}
さて, お気づきかもしれませんが, 引用を一行飛ばしました.
また、どの値にも一致しない場合は null を返却したい。
null の返却は
です.
どの値にも一致しなかった場合なので, 3つの if 文の後に記述する必要があります.
という感じで userProfile の中に記述する部分を 3つに分けてみました.
それぞれ左上に "java" と出ている枠内のコードを userProfile の中に順に記述すれば, userProfile は完成すると思います.