Class primer_array5

{

static Scanner reader = new Scanner(System.in);

public static void main(String[] args)

{

int [] b=new int[reader.nextInt()];

fill_arr(b);

print_arr(b);

}

//Метод для заполнения массива

public static void fill_arr (int[] c)

{

for (int i=0; i<c.length; i++)

{

c[i]=(int)(10*Math.random());

System.out.print(c[i]+" ");

}

System.out.println("Массив с заполнен");

}

//Метод для вывода на экран содержания каждой ячейки массива

Public static void print_arr(int[] t)

{

for (int i=0; i<t.length; i++)

{

System.out.print(t[i]+" ");

}

System.out.println();

}

}

 

Обратите внимание:

· в главном методе есть командаfill_arr(b), которая является обращением к методу, который, собственно, и заполняет массив значениями. Он написан после главного метода, но можно писать и до главного метода, никакого значения это не имеет. Обращение использует массив bв качестве передаваемого в метод параметра, при этом массив инициализирован, но значения в его ячейки, разумеется, еще не занесены (хотя, разумеется, он значения по умолчанию).

· При начале исполнения метода fill_arrинициализируется массив с, причем инициализируется еще одним, новым для нас способом: он фактически "копирует" инициализацию массива b. Разумеется, что при этом размер массива c точно такой же, как и массива b.

· Внутри метода fill_arr производится заполнение случайными числами массива с, значения его ячеек выводятся на экран в одну строку и затем на экран выводится сообщение Массив с заполнен

· При завершении исполнения метода fill_arr происходит возврат в главный метод. Очень важно: при возврате все "содержимое" массива теперь является и содержимым массива b!

· Для проверки на экран выводятся (тоже с использованием отдельного метода, print_arr) значения из массива t,и, разумеется, они совпадают со значениями массива b.

 

Как же произошло, что заполнялся один массив (массив с), а значения его оказались также и значениями другого массива (массива b)?

 

Существует еще один вариант заполнения массива – с помощью метода, возвращающего массив.

 

import java.util.*;

Class primer_array6

{

static Scanner reader = new Scanner(System.in);

public static void main(String[] args)

{

int [] b=new int[reader.nextInt()];

b=fillArr(b.length);

for (int i=0; i<b.length; i++)

System.out.print(b[i]+" ");

}

//Метод, создающий массив и возвращающий его

public static int[] fillArr (int x)

{

int [] c=new int[x];

for (int i=0; i<c.length; i++)

{

c[i]=(int)(10*Math.random());

System.out.print(c[i]+" ");

}

System.out.println("Массив с заполнен");

return c;

}

}