Практика Методів
Практика
Методи можуть бути складними для розуміння, тому цей розділ містить приклади різних методів у дії, показуючи, як вони працюють, де їх застосовувати та як писати й комбінувати кілька методів ефективно.
Приклад 1
Почнемо з методу, який приймає масив типу int і перевертає його так, що останнє значення стає першим, а перше — останнім:
Main.java
123456789101112131415161718192021222324252627282930package com.example; public class Main { static int[] flipIntArray(int[] array) { int[] result = new int[array.length]; int index = 0; for (int i = array.length - 1; i >= 0; i--) { result[index] = array[i]; index++; } return result; } static void printIntArrayToTheConsole(int[] array) { for (int element : array) { System.out.print(element + " "); } System.out.println(); } public static void main(String[] args) { // do not modify the code below int[] firstArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int[] secondArray = {0, 2, 4, 6, 8, 10, 12, 14, 16}; printIntArrayToTheConsole(flipIntArray(firstArray)); printIntArrayToTheConsole(flipIntArray(secondArray)); } // do not modify the code above }
-
Спочатку звернемо увагу на метод
flipIntArrayу рядку 4, який використовує цикл для проходження з кінця масиву та зберігає його значення у новоствореному масиві такого ж розміру. Також є зміннаindexу рядку 6, яка збільшується для збереження значень у масивіresult; -
Далі ви можете побачити метод у рядку 14 з попереднього розділу, який я використовую для виведення масиву лише одним рядком коду;
-
Тепер перейдемо до цікавого. Ви бачите у рядках 25-26, що я передаю метод як параметр всередині іншого методу. Це тому, що я використовую метод, який повертає
int[]всередині методу, який приймаєint[]як параметр, тим самим економлячи пам'ять, що виділяється для створення змінних. Ми бачимо, що наші методи працюють і відображають правильні значення.
Приклад 2
Припустимо, нам потрібно написати метод, який обчислює факторіал, приймаючи цілу змінну як вхідні дані.
Main.java
12345678910111213141516171819202122232425262728293031package com.example; // do not modify the code below this comment public class Main { // method to calculate the factorial of a number static int calculateFactorial(int input) { int result = 1; // loop to calculate factorial by multiplying each number from 1 to input for (int i = 1; i <= input; i++) { result = result * i; } // return the final result of the factorial calculation return result; } public static void main(String[] args) { // initializing the first number for factorial calculation int first = 5; // initializing the second number for factorial calculation int second = 7; // initializing the third number for factorial calculation int third = 4; // calculating and printing the factorial of the first number System.out.println("Factorial of the first number = " + calculateFactorial(first)); // calculating and printing the factorial of the second number System.out.println("Factorial of the second number = " + calculateFactorial(second)); // calculating and printing the factorial of the third number System.out.println("Factorial of the third number = " + calculateFactorial(third)); } }
У цьому прикладі написано метод, який множить накопичувальну змінну на числа від 1 до заданого числа для обчислення факторіалу. Це простий підхід, і ви можете побачити, як цей метод використовується кілька разів у методі main, що економить місце та підвищує читабельність коду.
Далі ми використовуємо наш метод всередині System.out.println, оскільки метод повертає значення типу int.
Приклад 3
Напишемо метод, який створює абревіатуру з масиву рядків.
Main.java
1234567891011121314151617181920212223242526272829package com.example; // do not modify the code below this comment public class Main { // method to create abbreviation by taking first letter of each word static String makeAbbreviation(String[] input) { StringBuilder result = new StringBuilder(); // iterate through each word and append the first letter to result for (String word : input) { result.append(word.toUpperCase().charAt(0)); } // return the abbreviation as a string return result.toString(); } public static void main(String[] args) { // initializing arrays with words for abbreviation String[] firstArray = {"united", "nations"}; String[] secondArray = {"North", "Atlantic", "Treaty", "Organization"}; String[] thirdArray = {"Oh", "my", "God"}; // printing abbreviation for the first array System.out.println(makeAbbreviation(firstArray)); // printing abbreviation for the second array System.out.println(makeAbbreviation(secondArray)); // printing abbreviation for the third array System.out.println(makeAbbreviation(thirdArray)); } }
У цьому методі використовується клас StringBuilder для виклику методу append() і додавання першої літери у верхньому регістрі до початково порожнього рядка. Таким чином, ми ітеруємо кожен елемент масиву, беремо літеру на нульовій позиції (першу літеру кожного слова), перетворюємо її у верхній регістр за допомогою методу toUpperCase() і додаємо до нашого результату за допомогою методу append(). Нарешті, ми використовуємо метод toString(), щоб перетворити наш StringBuilder у String.
1. Що таке значення, яке повертає метод?
2. Що повертає метод void?
3. Чи можна використовувати метод всередині іншого методу?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 2.63
Практика Методів
Свайпніть щоб показати меню
Практика
Методи можуть бути складними для розуміння, тому цей розділ містить приклади різних методів у дії, показуючи, як вони працюють, де їх застосовувати та як писати й комбінувати кілька методів ефективно.
Приклад 1
Почнемо з методу, який приймає масив типу int і перевертає його так, що останнє значення стає першим, а перше — останнім:
Main.java
123456789101112131415161718192021222324252627282930package com.example; public class Main { static int[] flipIntArray(int[] array) { int[] result = new int[array.length]; int index = 0; for (int i = array.length - 1; i >= 0; i--) { result[index] = array[i]; index++; } return result; } static void printIntArrayToTheConsole(int[] array) { for (int element : array) { System.out.print(element + " "); } System.out.println(); } public static void main(String[] args) { // do not modify the code below int[] firstArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int[] secondArray = {0, 2, 4, 6, 8, 10, 12, 14, 16}; printIntArrayToTheConsole(flipIntArray(firstArray)); printIntArrayToTheConsole(flipIntArray(secondArray)); } // do not modify the code above }
-
Спочатку звернемо увагу на метод
flipIntArrayу рядку 4, який використовує цикл для проходження з кінця масиву та зберігає його значення у новоствореному масиві такого ж розміру. Також є зміннаindexу рядку 6, яка збільшується для збереження значень у масивіresult; -
Далі ви можете побачити метод у рядку 14 з попереднього розділу, який я використовую для виведення масиву лише одним рядком коду;
-
Тепер перейдемо до цікавого. Ви бачите у рядках 25-26, що я передаю метод як параметр всередині іншого методу. Це тому, що я використовую метод, який повертає
int[]всередині методу, який приймаєint[]як параметр, тим самим економлячи пам'ять, що виділяється для створення змінних. Ми бачимо, що наші методи працюють і відображають правильні значення.
Приклад 2
Припустимо, нам потрібно написати метод, який обчислює факторіал, приймаючи цілу змінну як вхідні дані.
Main.java
12345678910111213141516171819202122232425262728293031package com.example; // do not modify the code below this comment public class Main { // method to calculate the factorial of a number static int calculateFactorial(int input) { int result = 1; // loop to calculate factorial by multiplying each number from 1 to input for (int i = 1; i <= input; i++) { result = result * i; } // return the final result of the factorial calculation return result; } public static void main(String[] args) { // initializing the first number for factorial calculation int first = 5; // initializing the second number for factorial calculation int second = 7; // initializing the third number for factorial calculation int third = 4; // calculating and printing the factorial of the first number System.out.println("Factorial of the first number = " + calculateFactorial(first)); // calculating and printing the factorial of the second number System.out.println("Factorial of the second number = " + calculateFactorial(second)); // calculating and printing the factorial of the third number System.out.println("Factorial of the third number = " + calculateFactorial(third)); } }
У цьому прикладі написано метод, який множить накопичувальну змінну на числа від 1 до заданого числа для обчислення факторіалу. Це простий підхід, і ви можете побачити, як цей метод використовується кілька разів у методі main, що економить місце та підвищує читабельність коду.
Далі ми використовуємо наш метод всередині System.out.println, оскільки метод повертає значення типу int.
Приклад 3
Напишемо метод, який створює абревіатуру з масиву рядків.
Main.java
1234567891011121314151617181920212223242526272829package com.example; // do not modify the code below this comment public class Main { // method to create abbreviation by taking first letter of each word static String makeAbbreviation(String[] input) { StringBuilder result = new StringBuilder(); // iterate through each word and append the first letter to result for (String word : input) { result.append(word.toUpperCase().charAt(0)); } // return the abbreviation as a string return result.toString(); } public static void main(String[] args) { // initializing arrays with words for abbreviation String[] firstArray = {"united", "nations"}; String[] secondArray = {"North", "Atlantic", "Treaty", "Organization"}; String[] thirdArray = {"Oh", "my", "God"}; // printing abbreviation for the first array System.out.println(makeAbbreviation(firstArray)); // printing abbreviation for the second array System.out.println(makeAbbreviation(secondArray)); // printing abbreviation for the third array System.out.println(makeAbbreviation(thirdArray)); } }
У цьому методі використовується клас StringBuilder для виклику методу append() і додавання першої літери у верхньому регістрі до початково порожнього рядка. Таким чином, ми ітеруємо кожен елемент масиву, беремо літеру на нульовій позиції (першу літеру кожного слова), перетворюємо її у верхній регістр за допомогою методу toUpperCase() і додаємо до нашого результату за допомогою методу append(). Нарешті, ми використовуємо метод toString(), щоб перетворити наш StringBuilder у String.
1. Що таке значення, яке повертає метод?
2. Що повертає метод void?
3. Чи можна використовувати метод всередині іншого методу?
Дякуємо за ваш відгук!