четверг, 15 декабря 2011 г.

Для Салавата: упражнения на методы




Задание №1
Напиши класс, который выполняет следующие действия (каждое – с помощью отдельного метода):
  • ·        заполняет случайными однозначными числами (включая отрицательные!) массив (размер массива устанавливается гибко);
  • ·        выводит содержание массива на экран;
  • ·        подсчитывает сумму массива и выводит ее на экран;
  • ·        подсчитывает среднее арифметическое значений массива и выводит его на экран.



Задание №2
Напиши класс, который выполняет следующие действия (каждое – с помощью отдельного метода):
  • ·        заполняет случайными двузначными положительными числами массив (размер массива устанавливается гибко);
  • ·        выводит содержание массива на экран;
  • ·        принимает с клавиатуры цифру (однозначное положительное число) и определяет количество элементов массива, заканчивающихся на эту цифру – и выводит результат на экран;
  • ·        повторяет предыдущий пункт еще 4 раза


Задание №3
Напиши класс, который выполняет следующие действия (каждое – с помощью отдельного метода):
  • ·        заполняет случайными трехзначными числами массив (размер массива устанавливается гибко);
  • ·        выводит содержание массива на экран;
  • ·        подсчитывает сумму четных значений в массиве – и выводит результат на экран;
  • ·        подсчитывает сумму нечетных значений в массиве – и выводит результат на экран;
  • ·        сравнивает эти две суммы – и выводит на экран соответствующее результату сравнения текстовое сообщение.

Примечание: подумайте, как третий и четвертый пункты выполнить с помощью одного и того же метода.

Задание №4
Напиши класс, который сначала принимает с клавиатуры два целых числа (в переменные а и b), а затем выполняет следующие действия (каждое – с помощью отдельного метода):
  • ·        заполняет случайными числами массив (размер массива устанавливается гибко) в пределах от а до b;
  • ·        выводит содержание массива на экран;
  • ·        подсчитывает сумму значений в четных ячейках массива – и выводит результат на экран;
  • ·        подсчитывает сумму значений в нечетных ячейках массива – и выводит результат на экран;
  • ·        сравнивает эти две суммы – и выводит на экран соответствующее результату сравнения текстовое сообщение.

Примечание: подумайте, как третий и четвертый пункты выполнить с помощью одного и того же метода.

Задание №5
Напиши класс, который сначала принимает с клавиатуры целое положительное число (в переменную х), а затем выполняет следующие действия (каждое – с помощью отдельного метода):
  • ·        заполняет массив случайными положительными числами (размер массива устанавливается гибко), меньшими х;
  • ·        выводит содержание массива на экран;
  • ·        изменяет в массиве все четные значения на ближайшие "сверху" нечетные;
  • ·        выводит содержание массива на экран;
  • ·        принимает с клавиатуры целое положительное число и заменяет значения в массиве на остаток деления значения на введенное с клавиатуры число;
  • ·        выводит содержание массива на экран;
  • ·        заменяет в массиве все четные числа на 0, а нечетные – на 1;
  • ·        выводит содержание массива на экран;


2 комментария:

  1. import java.util.*;
    class metod5
    { static Scanner reader=new Scanner(System.in);
    public static void main(String[] args)
    { int[] a1=zapolni(10);
    vivod(a1);
    zamena(a1);
    vivod(a1);
    zamena1(a1);
    vivod(a1);
    zamena2(a1);
    vivod(a1); }
    static int[] zapolni(int n)
    { int x=reader.nextInt();
    int[] a=new int[n];
    for(int i=0;i<n;i++)
    a[i]=1+(int)(x*Math.random());
    return a; }
    static void vivod(int[] b)
    { for(int i=0;i<b.length;i++)
    System.out.print(b[i]+" ");
    System.out.println(); }
    static int[] zamena (int[] c)
    { for(int i=0;i<c.length;i++)
    { if (c[i]%2==0) c[i]++; }
    return c; }
    static int[] zamena1 (int[] d)
    { int y=reader.nextInt();
    while (y<0)
    {y=reader.nextInt();}
    for(int i=0;i<d.length;i++)
    d[i]=d[i]%y;
    return d; }
    static int[] zamena2 (int[] e)
    { for(int i=0;i<e.length;i++)
    { if (e[i]%2==0) e[i]=0;
    else e[i]=1; }
    return e; } }

    ОтветитьУдалить
  2. Прекрасное решение.

    Я бы внес одно-единственное изменение: вместо int[] a1=zapolni(10); написал бы int[] a1=zapolni(reader.nextInt()); -- чтобы размер массива устанавливался гибко.

    ОтветитьУдалить