2016-11-29 1 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; 
} 

или что-то подобное.

С другой стороны, если dayInWeek() является локальным методом или статический метод сделать что-то вроде этого:

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

или аналогичным образом. Как и ошибка, список аргументов, которые dayInWeek получил (ни один из них) не отличался от списка аргументов dayInWeek хочет (3 ints)

Смежные вопросы