2014-10-15 1 views
0

, так что я пытаюсь сделатьконструктор дает мне аргументы списки отличаются длиной

public static void main(String[] args) 
{ 
    int numEach = 3; 
    int boatSize = 2; 
    if(args.length > 1) 
    { 
    numEach = Integer.parseInt(args[1]); 
    boatSize = Integer.parseInt(args[3]); 
    } 
    arrayCan[0] = numEach; 
    arrayCan[1] = 0; 
    arrayMis[0] = numEach; 
    arrayMis[1] = 0; 
    RiverCrossingPuzzle puzzle = new RiverCrossingPuzzle (numEach, boatSize); 
} 

но говоря аргумент не принимает 2 Интс. так что я также пишу

public RiverCrossingPuzzle (numEach, boatSize) 
{ 
this.numEach = numEach; 
this.boatSize = boatSize; 
} 

выше перед основной функцией? Я должен строить на основе ввода из командной строки, и я не могу принимать входные данные без основного. Так может кто-нибудь помочь мне с тем, что мне нужно исправить?

+0

аргументы должны иметь тип. это: 'RiverCrossingPuzzle (numEach, boatSize)' is not java – DwB

+0

Непонятно, может быть, вы можете отредактировать, чтобы уточнить –

+0

Ваш конструктор не будет компилироваться - вам нужно определить его как 'public RiverCrossingPuzzle (int numEach, int boatSize)'. Это ваш вопрос? Или это просто опечатка? Если это ваш вопрос, я настоятельно рекомендую прочитать несколько учебных пособий по Java, прежде чем продолжить. – Krease

ответ

4

попробуйте добавить типы в конструктор (который требуется Java):

вот пример

public Blammy(int xxx, int qqq) 
{ 
    this.xxx = xxx; 
    this.qqq = qqq; 
} 
+0

Мне нужно, чтобы начать ints перед рукой? – Joe

+0

не уверен, что вы подразумеваете под «инициировать ints». Все переменные класса инициализируются в java. – DwB

+1

Вопрос не имеет смысла. Параметры int являются параметрами функции. Метод signiture в значительной степени просто говорит, что этот метод требует двух параметров для работы, и они оба являются целыми числами. При выполнении вызова метода им присваиваются значения, которые вы им даете. –

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