2015-11-20 4 views
2

Я не понимаю и не могу найти в google, как я могу вызвать свой метод, чей параметр является массивом?Array as parametar

private static void printArray(double a[],int p){ 
     int count[]=new int[p]; 
     for(int i=0;i<a.length;i++){ 
      for(int j=0;j<p;j++){ 
       if((a[i]>=100/p*j) && (a[i]<100/p*(j+1))){ 
        count[j]++; 

, например, как я называю этот метод в моем основном методе:

Я попытался printArray({1,2,3,4,5},5); и это не работает или printArray([10],5);, но до сих пор не работает?

+0

'new Double [] {1.1.1.2}' – Atri

ответ

4

Сначала вам нужно создать массив. Как вы сделали здесь:

int count[]=new int[p]; 

В вашем примере что-то вроде

double myArray[] = {1,2,3,4,5}; 

Тогда вы бы передать имя переменного в ваш метод, как:

printArray(myArray, someInt); 

Надеется, что это помогает.

+0

Спасибо, человек! Я ценю это –

+0

No prob. Это сработало? –

+0

yes :) На самом деле я создал метод double [] createArray (int n) .. Но был настолько глуп, не знал, чтобы использовать его другим способом. –

1

Проблема с вызовами:

  • printArray({1,2,3,4,5},5); - {1,2,3,4,5} в качестве параметра не распознается. Вам нужно создать массив типа double.
  • printArray([10],5); - [10] также не распознается компилятором и не является правильным способом передачи double [].

Это как инициализировать встроенный массив в Java: new double[]{1,2,3,4,5}

Итак, это то, как вы это называете:
printArray(new double[]{1,2,3,4,5},5);

+0

double [] - это не тот же тип, что и Double []. И 'new Double [] (1,2,3,4,5)' недействителен Java. –

+0

@JBNizet спасибо за указание – Atri

0

вы можете назвать ваш метод, как это, если метод находится в том же классе с основным методом.

double[] arr = {1,2,3,4,5}; 
printArray(arr,5); 
0

[10] не является переменной. Когда вы передаете массив, вам не нужны скобки. Просто имя переменной. Например:

double array1[] = {10,12,13}; 
printArray(array1); 
+0

Это не скомпилировалось. –

+0

@JBNizet array1 необходимо инициализировать. – Chris

+0

И это именно то, что задает ОП: как инициализировать двойной массив и передать его методу. –