前提・実現したいこと
javaの引数と戻り値の課題でエラーが出てしまいました。
4つ目に”指定されたIDは見つかりません”と表示したいのですが、
調べてみてもそれらしいのが出ずわかりません。よろしくお願いします。
問題文
変数 int num にシステムから入力値が与えられます。
下記のメソッドを作成してください。
メソッドを作成したら、mainメソッドで呼び出し、戻り値の要素を全て表示してください。その際、0番目の要素は表示しないように処理を実装してください。
また、戻り値がnullだった場合、要素の出力ではなく「指定されたIDは見つかりません」と出力してください。
メソッドの呼び出しの際、実引数は変数 int num を設定してください。
getUserPrfofileメソッド
{"1","技育太郎","東京","男","プログラマー"}
{"2","技育花子","北海道","女","システムエンジニア"}
{"3","技育三郎","大阪","男","Webエンジニア"}
上記の要素を持つ静的配列変数を3つ宣言してください。
数値型引数をString型変数に型変換し、その後、下記の仕様を満たす条件分岐を実装してください。
各配列の0番目の値とString型に変換した引数を比較し、
比較して一致した場合、一致した配列変数を戻り値としてください。
また、どの配列とも一致しなかった場合、nullを戻り値としてください。```
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String text = scan.next(); int num = Integer.parseInt(text); String[] data = getUserProfile(num); if(data == null){ System.out.println("指定されたIDは見つかりません"); } for(int i = 1;i < data.length; i++){ if(i == 0){ continue; } System.out.print(data[i]); } } static String[] getUserProfile(int num){ String[] data1 = {"1","技育太郎","東京","男","プログラマー"}; String[] data2 = {"2","技育花子","北海道","女","システムエンジニア"}; String[] data3 = {"3","技育三郎","大阪","男","Webエンジニア"}; String a = String.valueOf(num); if(data1[0].equals(a)){ return data1; }else if(data2[0].equals(a)){ return data2; }else if(data3[0].equals(a)){ return data3; }else{ return null; } } }### 該当のソースコード
エラーコード
Exception in thread "main" java.lang.NullPointerException
at Main.main(Main.java:11)
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/24 04:55