いつもお世話になっております。
現在メソッドのオーバーロードの問題を解いております。
恐らくプロの皆様からすると笑ってしまう様なレベルのミスだと思うのですが、
どうしても構文エラーを消すことが出来ず悩んでおります。
どうかご指摘のほど、よろしくお願いします。
以下問い
エラー箇所★
/*【オーバーロード3】
SubOverload03クラスに2つのメソッドを実装して下さい。
①メソッド名:methodA 戻り値:なし 引数:int
②メソッド名:methodA 戻り値:なし 引数:int,int
[実行結果]
今日の天気は:晴れ
今日の天気は:曇り時々雨*/
lang
1public class test { 2 3 public static void main(String[] args) { 4 } 5 //インスタンス化 6 SubOverLoad03 sub1 = new SubOverLoad03(); 7 //コンストラクタ呼び出し 8 sub1.SubOverLoad03(); 9//★トークン "SubOverLoad03" に構文エラーがあります。このトークンの後には Identifier を指定する必要があります 10 11 //表示メソッド呼び出し 12 sub1.methodA(0); 13//★トークンに構文エラーがあります。構成の位置が間違っています 14 sub1.methodA(1, 2); 15//★トークンに構文エラーがあります。代わりに ConstructorHeaderName を指定する必要があります 16} 17 18class SubOverLoad03{ 19 20 private String[] weather; 21 //フィールド 22 public SubOverLoad03(){ 23 weather = new String[3]; 24 weather[0] = "晴れ"; 25 weather[1] = "曇り"; 26 weather[2] = "雨"; 27 } 28 // ①メソッド名:methodA 戻り値:なし 引数:int 29 public void methodA(int num1) { 30 System.out.println("今日の天気は:" + weather[num1]); 31 } 32 33 // ②メソッド名:methodA 戻り値:なし 引数:int,int 34 public void methodA(int num2,int num3) { 35 System.out.println("今日の天気は" + weather[num2] + "時々" + weather[num3]); 36 } 37} 38
尚、該当箇所を削除した時に関連項目のエラーは出てきません。
つまり、紐付けが上手くいってないのだろうな、と勝手に解釈しています。
申し遅れましたが、Eclipseを用いて書いております。
追記:ご指摘頂いたエラーの修正中に気づいたのですが、
コンストラクタは呼び出すものでは無いので、
上のクラス部分はコンストラクタの呼び出しの項目は削除ですね。
lang
1public class test { 2 3 public static void main(String[] args) { 4 //インスタンス化 5 SubOverLoad03 sub1 = new SubOverLoad03(); 6 //コンストラクタ呼び出し 7 ★↑要らない。 8 9 //表示メソッド呼び出し 10 sub1.methodA(0); 11 sub1.methodA(1, 2); 12 } 13}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/04/14 07:05