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;
}
}