###実現したいこと
「3:abcd 5:efgh 3」をString型変数strに代入後、
「:」を空白に置換し、strを空白区切りでString配列abcdに変換
abcdから数字のみを抽出したint型配列numを作成しようとしています。
System.out.printlnでnumを出力すると、
3 0 5 0 3と出力されるのですが、その下に下記エラーメッセージが表示されます。
下記エラーメッセージはどういう意味なのでしょうか。
###エラーメッセージ
java.lang.NumberFormatException: For input string: "abcd"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at ex.App.main(App.java:13)
java.lang.NumberFormatException: For input string: "efgh"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at ex.App.main(App.java:13)
java
1package ex; 2import java.util.Scanner; 3 4public class App { 5 public static void main(String[] args) { 6 Scanner scanner = new Scanner(System.in); 7 String str = scanner.nextLine(); 8 str = str.replaceAll(":"," "); 9 String[] abcd = str.split(" "); 10 11 int[] num = new int[abcd.length]; 12 for (int i = 0; i < abcd.length;i++){ 13 try { num[i] = Integer.parseInt(abcd[i]); 14 }catch (NumberFormatException e) { 15 e.printStackTrace(); 16 } 17 } 18 for(int i=0;i<num.length;i++) { 19 System.out.println(num[i]); 20 } 21 } 22}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/20 01:47