Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

実行できない

このプログラムを実行するとコンパイルは通るのですが、実行すると下記のようなエラーが出てしまいます。
どうしてでしょうか。

Exception in thread "main" java.lang.NumberFormatException: For input string: "+353"
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
        at java.lang.Integer.parseInt(Integer.java:447)
        at java.lang.Integer.parseInt(Integer.java:497)
        at kadai04.main(kadai04.java:17)

import java.io.*;
class keisan{
    public static void main (String[] args) throws IOException{
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    System.out.println("式を入力してください。");
    String y=br.readLine();

        int z=y.indexOf("+");

    int a=y.length();

    String b=y.substring(0,z);
    int m=Integer.parseInt(b);

    String c=y.substring(z,a);
    int n= Integer.parseInt(c);

    int d=m+n;
    System.out.println("="+d);
    }
}

5

回答

5832

閲覧

5件の回答

評価

0

>どうしてでしょうか。
例外が出ることをしてるから。
例外が意味するところを調べる。

評価

0

なんか最近同様の書き込みを見た気がする。
マルチポスト?

評価

0

マルチポストした覚えはありません。

評価

0

これですよね。
http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/NumberFormatException.html
アプリケーションが文字列を数値型に変換しようとしたとき、文字列の形式が正しくない場合にスローされます。

> Exception in thread "main" java.lang.NumberFormatException: For input string: "+353"
>         at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
>         at java.lang.Integer.parseInt(Integer.java:447)
>         at java.lang.Integer.parseInt(Integer.java:497)
>         at kadai04.main(kadai04.java:17)
は、kadai04.javaファイルの17行目で、に catch されない例外があります。
"+353" は、数値型に正しく変換できませんでした。
となります。

評価

0

解決しました。
ありがとうございました。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。