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

回答編集履歴

3

追記

2018/05/11 13:42

投稿

LouiS0616
LouiS0616

スコア35676

answer CHANGED
@@ -8,6 +8,28 @@
8
8
  - StartUpクラスに、必要なメソッドを定義する。
9
9
  - 呼び出す際、`MulDiv2.timeNumbers`のように完全な名前で呼び出す。
10
10
 
11
+ 問題点2
11
12
  ---
12
13
  上記の修正を施しても、まだエラーが出るはずです。
13
- インスタンスを経由しないで呼び出したいメソッドは、static指定する必要があります。
14
+ インスタンスを経由しないで呼び出したいメソッドは、static指定する必要があります。
15
+
16
+ 問題点3
17
+ ---
18
+ 手元で動かしてみたら、まだエラーが潜んでいました。
19
+ > ```Java
20
+ int a;
21
+ int b;
22
+ try {
23
+ a = stdIn.nextInt();
24
+ b = stdIn.nextInt();
25
+ }catch(InputMismatchException e) {
26
+ System.out.println("整数値を入力してください。");
27
+ }
28
+ > ```
29
+
30
+ 例外が発生した場合 a および b が初期化されない恐れがあり、コンパイルできません。
31
+ 入力に成功するまでループするか、失敗したときにmainメソッドから脱出してください。
32
+
33
+ 問題点(?)4
34
+ ---
35
+ 除算したときに小数点以下が切り捨てられていますが、これは想定通りでしょうか。

2

追記

2018/05/11 13:42

投稿

LouiS0616
LouiS0616

スコア35676

answer CHANGED
@@ -4,4 +4,10 @@
4
4
  メソッド divideNumbersは**型StartUpで未定義**です
5
5
 
6
6
  別のクラスに定義したメソッドを、都合よく見に行ってくれるはずがありません。
7
+ 次のどちらかの方法で修正してください。
8
+ - StartUpクラスに、必要なメソッドを定義する。
9
+ - 呼び出す際、`MulDiv2.timeNumbers`のように完全な名前で呼び出す。
10
+
11
+ ---
12
+ 上記の修正を施しても、まだエラーが出るはずです。
7
- 、このようにメソッドを用いるときは、静的にすることをお忘れなく
13
+ インスタンスを経由しないで呼び出しメソッドは、static指定する必要があります

1

誤解を与えかねない表現の削除

2018/05/11 13:36

投稿

LouiS0616
LouiS0616

スコア35676

answer CHANGED
@@ -3,5 +3,5 @@
3
3
  > メソッド timeNumbersは**型StartUpで未定義**です
4
4
  メソッド divideNumbersは**型StartUpで未定義**です
5
5
 
6
- 別のクラスにテキトーに定義したメソッドを、都合よく見に行ってくれるはずがありません。
6
+ 別のクラスに定義したメソッドを、都合よく見に行ってくれるはずがありません。
7
7
  また、このようにメソッドを用いるときは、静的にすることをお忘れなく。