2016-11-29 14 views
-4

printlnに問題があります。私は別のクラスから "メソッド" を印刷しようとしましたが、このエラーを取得:エラー印刷:「実際の仮引数リストの長さはjavaと異なる」

actual and formal argument lists differ in length java

これはメソッドです:

public double dayInWeek(int day, int month, int year) { 
    int Day; 
    int M; 
    int Y = _year%100; 
    int C = _year/100; 
    int D = _day; 
    if (_month == 1) { 
     M = 13; 
    } else if (_month == 2) { 
     M = 14; 
    } else { 
     M = _month; 
    } 
    return Day = (D + (26*(M+1))/10 + Y + Y/4 + C/4 - 2*C) % 7; 
} 

これはメインである:

System.out.println(d5+" occurs on : "+d5.dayInWeek()); 

なぜこのエラーが発生するのですか?

+3

'dayInWeek'は引数をとります!エラーを読む... – Li357

答えて

0

私は何であるかの種類D5伝えることはできませんが、dayInWeekは()D5のクラスのメソッドであるならば、次の操作を行う必要があります。そのような

public double dayInWeek(int day , int month ,int year){ 
    return Day = (this.day + (26*(this.month+1))/10 + tis.year + this.year/4 + this.century/4 - 2*this.century) % 7; 
} 

か何かを。

System.out.println(d5+" occurs on : "+dayInWeek(d5.day, d5.month, d5.year)); 

または同様に:一方

dayInWeekは()ローカルメソッドまたは静的メソッドである場合には、このような何かを行います。エラーと同様に、dayInWeekが取得した引数のリスト(いずれも)引数のリストとは異なりましたdayInWeekは(3 ints)を返します

関連する問題