###前提・実現したいこと
このプログラムでIllegalArgumentException:nullです、が出てしまわないように、
対応したいです。
nullが与えられる入力がされた場合、例外処理以外で対応するにはどうすべきのなのでしょうか?
String ip がnull判定される入力があるらしいのです
###発生している問題・エラーメッセージ
IllegalArgumentException:nullです
###該当のソースコード
java
1import java.util.*; 2 3public class Main{ 4 public static void main(String[] args){ 5 Scanner bScanner = new Scanner(System.in); 6 if(bScanner.hasNextLine()){ 7 int number = bScanner.nextInt(); 8 if((number > 0) && (number <= 100)){ 9 String[] ips = new String[number]; 10 for(int i = 0; i < number; i++){ 11 Scanner aScanner = new Scanner(System.in); 12 if(aScanner.hasNextLine()){ 13 ips[i] = aScanner.nextLine(); 14 } 15 } 16 17 for(String ip : ips){ 18 if(ip != null){ 19 String[] nums = ip.split("\\."); 20 if(nums.length != 4){ 21 System.out.println("False"); 22 continue; 23 } 24 boolean flg = false; 25 for(String num : nums){ 26 if(num.equals("")){ 27 flg = false; 28 break; 29 } else{ 30 int n = Integer.parseInt(num); 31 if((n >= 0) && (n <= 255)){ 32 flg = true; 33 } 34 } 35 } 36 String msg = (flg)? "True" : "False"; 37 System.out.println(msg); 38 } else{ 39 throw new IllegalArgumentException("nullです"); 40 } 41 } 42 } else{ 43 throw new IllegalArgumentException("値が不正です"); 44 } 45 46 } 47 } 48} 49
###試したこと
課題に対してアプローチしたことを記載してください
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
テストケースを受けるだけの立場ですのでテストケースで何が投げかけられているかは分かりません。
ただScannerが、そもそもこのプログラムでも、
特に明記されていないかぎり、nullパラメータをScannerのいずれかのメソッドに渡すと、NullPointerExceptionがスローされます。
なのでScannerのnullを除去または対応したいです。
回答3件
あなたの回答
tips
プレビュー