Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Zada4nik-Канель-Фрайман.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1.8 Mб
Скачать

Задание 16.21*

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

Раздел 17Использование методов в программах на языке Java

Примечания:

  • не исключено, что при написании некоторых методов имеет смысл (эффективно) использовать методы, написанные в качестве решения для других заданий;

  • делителями в этом разделе мы называем числа, на которые делится без остатка данное число, не считая 1 и самого числа;

  • для проверки работы метода следует написать класс, использующий метод.

Задание 17.1*

Даны описания переменных:

doubler1;

intx1,x2,b1,b2;

Также даны заголовки нескольких методов:

static int fun1(int x, double y);

static int fun2(int b);

Для каждого вызова метода, приведенного ниже в таблице, укажите, сделан он с ошибкой или без ошибки; обоснуйте свой ответ:

x2=fun1(x1*4,11/12);

fun1(5,9/3);

if(fun1(7,x1)>0)r1=7;

if(fun1(7,x1)==b1)fun2=7;

b1=fun1(fun2(b2),r1);

System.out.println(fun2(x1>x2));

System.out.println(fun2(b1-b2));

Задание 17.2*

Даны описания переменных:

int a, b, f;

double c, d;

boolean e;

Также даны заголовки методов:

staticdouble test1(double x, int y, boolean z)

staticvoid test2(double x, int y, boolean z)

Для каждого вызова метода, приведенного ниже в таблице, укажите, сделан он с ошибкой или без ошибки; обоснуйте свой ответ:

a=test1(5.3, a, e);

d=test1(1, 2, true);

if(test1(d, b, e)==f)

{

test2(d, c+b, e);

}

f=test2(c, 5, e);

c=test1(c, d, false);

System.out.println(test1(1,1,f>d));

System.out.println(test2(1,1,true));

Задание 17.3*

Дан метод:

public static int what ( int a, int b)

{

while (a!=b)

{

if (a>b) a=a-b;

else b=b-a;

}

return a;

}

  1. Какое значение возвращает метод, если его вызов выглядит следующим образом: x=what (7,3)? Обоснуйте свой ответ.

  2. Какое значение возвращает метод, если его вызов выглядит следующим образом: x=what (14,35)? Обоснуйте свой ответ.

  3. Приведите пример параметров, для которых метод будет возвращать значение 2.

  4. Как изменятся ответы на пункты 1 и 2, если в методе вместо return a будет записано return b? Обоснуйте свой ответ.

Задание 17.4*

Дан метод:

int what (int num, int d)

{

int g = 0;

if(num>99)

num=num%100;

if (num % 10 = = d)

g++;

if (num /10 = = d)

g++;

return g;

}

  1. Какое значение возвращает метод, если его вызов выглядит следующим образом: x=what (1235,3)? Обоснуйте свой ответ.

  2. Приведите пример параметров, для которых метод будет возвращать значение 2.

  3. Приведите пример параметров, для которых метод будет возвращать значение 0.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]