回答編集履歴

2

3つ目以降の真の原因が判明

2016/05/22 10:58

投稿

swordone
swordone

スコア20649

test CHANGED
@@ -32,11 +32,11 @@
32
32
 
33
33
  ()がないので、このgetlcmれは変数の扱いになっています。
34
34
 
35
- - getgcd内、1行目でreturnしており、whileがデッドコード
35
+ - getgcdメソッドの宣言直後に`;`が入っている
36
36
 
37
- 先述した2箇所のエラー以外全てはおそらくこれ起因と思われ
37
+ 先述した2箇所のエラーとmain()どうの以外全てはこれ起因。(引数なしの`main()`なんぞどこに書いてあんだ?)
38
38
 
39
- `return p = n;`でメソッドが終わっしまい、その後の変数が意味不明にって
39
+ abstractでもないのに、本文のないメソッドと言うのはありえません。そしそこで区切られてるため、その後のブロックでの各変数が認識できないでいます
40
40
 
41
41
 
42
42
 

1

諸々追加

2016/05/22 10:58

投稿

swordone
swordone

スコア20649

test CHANGED
@@ -1,5 +1,43 @@
1
1
  - getgcdの引数の数が合わない
2
+
3
+ > gcd.java:11: エラー: クラス gcdのメソッド getgcdは指定された型に適用できません。
4
+
5
+ int p = getgcd(m, n);
6
+
7
+ ^
8
+
9
+ 期待値: int,int,int
10
+
11
+ 検出値: int,int
12
+
13
+ 理由: 実引数リストと仮引数リストの長さが異なります
14
+
15
+
16
+
17
+ getgcdはintを3つ必要としてるのに2つしか渡さないのでは処理できません。
2
18
 
3
19
  - getlcmをフィールド変数のように呼んでいる
4
20
 
21
+ > gcd.java:13: エラー: シンボルを見つけられません
22
+
23
+ System.out.println(getlcm);
24
+
25
+ ^
26
+
27
+ シンボル: 変数 getlcm
28
+
29
+ 場所: クラス gcd
30
+
31
+
32
+
33
+ ()がないので、このgetlcmれは変数の扱いになっています。
34
+
5
35
  - getgcd内、1行目でreturnしており、whileがデッドコード
36
+
37
+ 先述した2箇所のエラー以外全てはおそらくこれ起因と思われる。
38
+
39
+ `return p = n;`でメソッドが終わってしまい、その後の変数が意味不明になっている。
40
+
41
+
42
+
43
+ ほか、最大公約数に関しては「ユークリッドの互除法」を調べてみることをおすすめします。