質問するログイン新規登録

回答編集履歴

3

ちょちょいと修正

2017/12/04 06:40

投稿

masaya_ohashi
masaya_ohashi

スコア9210

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  `start`の途中で`keisan`が呼ばれているからです。本来`button.setOnAction`の処理の中で`keisan`が実行されなければならないのに、`alert.setContentText`に文字列として渡すときにいきなり実行されてしまっています。
2
2
 
3
- プログラムのバグは99.9%**書かれたままに動いた仕様通りの結果**であり、仕様を疑うのは愚の骨頂です。**その目の曇りがミスの発見を遅らせる原因になります**。エラーメッセージをちゃんと読めば以下のメッセージが読み取れます。
3
+ プログラムのバグは99.9%**書かれたままに動いた結果**であり、言語仕様を疑うのは愚の骨頂です。**その目の曇りがミスの発見を遅らせる原因になります**。エラーメッセージをちゃんと読めば以下のメッセージが読み取れます。
4
4
  ```
5
5
  Caused by: java.lang.NumberFormatException: For input string: ""
6
6
  at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)

2

プログラマの格言を追記

2017/12/04 06:40

投稿

masaya_ohashi
masaya_ohashi

スコア9210

answer CHANGED
@@ -9,4 +9,8 @@
9
9
  at Kadai14_1.keisan(Kadai14_1.java:50)
10
10
  ```
11
11
 
12
- Kadai14_1のkeisanの中でparseIntに渡している文字列が`""`であり、数値として扱えない文字列であるため`NumberFormatException`が起きていると**Javaは正しく原因を伝えています**。
12
+ Kadai14_1のkeisanの中でparseIntに渡している文字列が`""`であり、数値として扱えない文字列であるため`NumberFormatException`が起きていると**Javaは正しく原因を伝えています**。
13
+
14
+ 誰が言ったかわかりませんが、プログラマが心に刻んでおかなければならない鉄則を表した言葉があります。
15
+
16
+ **プログラムは思ったとおりには動かない。書いたとおりに動くのだ。**

1

追記

2017/12/04 06:36

投稿

masaya_ohashi
masaya_ohashi

スコア9210

answer CHANGED
@@ -1,1 +1,12 @@
1
- `start`の途中で`keisan`が呼ばれているからです。本来`button.setOnAction`の処理の中で`keisan`が実行されなければならないのに、`alert.setContentText`に文字列として渡すときにいきなり実行されてしまっています。
1
+ `start`の途中で`keisan`が呼ばれているからです。本来`button.setOnAction`の処理の中で`keisan`が実行されなければならないのに、`alert.setContentText`に文字列として渡すときにいきなり実行されてしまっています。
2
+
3
+ プログラムのバグは99.9%**書かれたままに動いた仕様通りの結果**であり、仕様を疑うのは愚の骨頂です。**その目の曇りがミスの発見を遅らせる原因になります**。エラーメッセージをちゃんと読めば以下のメッセージが読み取れます。
4
+ ```
5
+ Caused by: java.lang.NumberFormatException: For input string: ""
6
+ at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
7
+ at java.lang.Integer.parseInt(Integer.java:592)
8
+ at java.lang.Integer.parseInt(Integer.java:615)
9
+ at Kadai14_1.keisan(Kadai14_1.java:50)
10
+ ```
11
+
12
+ Kadai14_1のkeisanの中でparseIntに渡している文字列が`""`であり、数値として扱えない文字列であるため`NumberFormatException`が起きていると**Javaは正しく原因を伝えています**。