2014-12-13 4 views
1

Привет, мне нужно обменивать содержимое 3-х арраистов одновременно, но im с ошибкой.Обмен содержимым списка массивов

//This is my methods 
public void reorder(int a, int b){ 
    Collections.swap(trackNum,a,b); 
    Collections.swap(name,a,b); 
    Collections.swap(duration,a,b); 
} 

//This is me using the methods 
case 3: 
    meth.print(); 
    System.out.println("What is the first index you would like to swap:"); 
     meth.reorder(in.nextInt()); 
    System.out.println("What is the second index you would like to swap:"); 
     meth.reorder(in.nextInt()); 
    break; 

Может кто-нибудь объяснить, где я ошибся.

ГЗС им ошибки получаю «Метод повторного заказа (целое, целое) в методах типа не применяется для аргументов (INT)»

ответ

2

Ваш метод вызова не совпадает с подписью. Вы передаете только один int, где вам нужно пройти два.

public void reorder(int a, int b){ ... } // Here you specify two arguments. 
... 
meth.reorder(in.nextInt()); // Here you only pass one. 

//This is me using the methods 
case 3: 
    meth.print(); 
    System.out.println("What is the first index you would like to swap:"); 
    int first = in.nextInt(); 
    System.out.println("What is the second index you would like to swap:"); 
    int second = in.nextInt(); 
    meth.reorder(first, second); 
    break; 
+0

Как это сделать, извините, новичок – IeuanW

+0

Вы просто положили еще один целочисленный аргумент в вызов. – ChiefTwoPencils

+0

Как добавить еще один целочисленный аргумент в вызов – IeuanW

0

Наиболее очевидная вещь неправильно это вы используете несколько коллекции, когда вы должны иметь один тип, который имеет все поля, необходимые и единый сбор всей этой информации.

Im получаю ошибку, «Метод Переупорядочить (INT, INT) в методах типа не применяется для аргументов (INT)»

В этом случае, вы только хотите, чтобы изменить порядок раз , и только когда у вас есть вся информация. т. е. вам нужны два числа.

Предлагаю вам сохранить первое значение в переменной и только переадресовать вызов() после того, как у вас есть второе значение.

System.out.println("What is the first index you would like to swap:"); 
int a = in.nextInt(); 
System.out.println("What is the second index you would like to swap:"); 
int b = in.nextInt(); 
meth.reorder(a, b); 
+0

Im получение ошибки: «Метод reorder (int, int) в методах типа не применим для аргументов (int)» – IeuanW

+0

Как бы это выглядело, используя мой код? – IeuanW

+0

О, хорошо, что имеет смысл спасибо. – IeuanW

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