Практика на методы в Java
В следующих задачах некоторый программист написал код и, возможно, допустил в нем ошибки. Вы должны проверить, делает ли код то, что описано. Если код работает некорректно, исправьте ошибки.
Код должен найти сумму результатов работы двух методов:
public class Main {
static void func1() {
System.out.println(3);
}
static void func2() {
System.out.println(5);
}
public static void main(String[] args) {
System.out.println(func1() + func2());
}
}
Код должен найти сумму элементов массива:
public class Main {
static int sum(int[] arr) {
int res = 0;
for (int elem : arr) {
res += elem;
return res;
}
return res;
}
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
System.out.println(sum(arr));
}
}
Код должен найти сумму элементов массива, однако ничего не выводит:
public class Main {
static void func(int[] arr) {
int res = 0;
for (int elem : arr) {
res += elem;
}
System.out.println(res);
}
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
}
}
Код должен найти сумму результатов работы двух методов:
public class Main {
static int func1() {
return 3;
}
static int func2() {
return 5;
}
public static void main(String[] args) {
System.out.println(func1 + func2);
}
}
Код должен найти сумму элементов массива:
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
int res = sum(arr);
System.out.println(res);
}
static int sum(int[] arr) {
int res = 0;
for (int elem : arr) {
res += elem;
}
return 0;
}
}
Метод добавляет ноль к числу от 1
до 9, а числа больше 9
возвращает без изменений:
public class Main {
static String add(int num) {
if (num <= 9) {
return "0" + num;
}
return "";
}
}
Код должен проверить число на то, что оно является простым:
public class Main {
static boolean isPrime(int num) {
for (int i = 2; i < num; i++) {
if (num % i != 0) {
return true;
} else {
return false;
}
}
return true;
}
public static void main(String[] args) {
System.out.println(isPrime(13)); // должен вывести true
System.out.println(isPrime(12)); // должен вывести false
}
}
Дальше идут задачи на написание методов. Имя метода пусть называет действие: глагол и то, что метод делает. Один метод выполняет одно действие.
Создайте метод, который принимает два числа и возвращает большее из них.
Создайте метод, который принимает строку и возвращает ее длину.
Создайте метод, который принимает массив чисел и возвращает сумму его элементов.
Сделайте метод, который параметром будет принимать число и возвращать массив его делителей.
Сделайте метод, который параметром будет принимать два числа и возвращать массив их общих делителей.
Сделайте метод, который параметром будет принимать число и возвращать сумму его цифр.
Сделайте метод, который параметром будет принимать секунды, а возвращать количество суток, соответствующих этим секундам.
Сделайте метод, который параметром будет принимать год и проверять, високосный он или нет.
Сделайте метод, который параметром будет принимать число и проверять, простое оно или нет.
Напишите, какие недостатки у следующего кода, и исправьте их:
public class Main {
static int sum(int[] arr) {
int res = 0;
for (int elem : arr) {
res += elem;
}
return res / arr.length;
}
}
Напишите, какие недостатки у следующего кода, и исправьте их:
public class Main {
static int func(int[] arr1, int[] arr2) {
int res1 = 0;
for (int elem : arr1) {
res1 += elem;
}
int res2 = 0;
for (int elem : arr1) {
res2 += elem;
}
return res1 / res2;
}
}
Напишите, какие недостатки у следующего кода, и исправьте их:
public class Main {
static int getSum(int[] arr) {
int res = 0;
for (int elem : arr) {
res *= elem;
}
return res;
}
}