Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Практика Методів | Методи
Java Extended
course content

Зміст курсу

Java Extended

Java Extended

1. Глибока Структура Java
2. Методи
3. Рядки: Розширений Рівень
4. Класи
5. Класи: Розширений Рівень

book
Практика Методів

Практика

Методи можуть бути складними для розуміння, тому в цьому розділі наведено приклади різних методів у дії, показано, як вони працюють, де їх використовувати та як правильно писати й комбінувати кілька методів.

Приклад 1

Почнемо з методу, який приймає масив типу int і перевертає його так, що останнє значення стає першим, а перше стає останнім:

Main.java

Main.java

copy
123456789101112131415161718192021222324252627282930
package 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

Main.java

copy
12345678910111213141516171819202122232425262728293031
package 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

Main.java

copy
1234567891011121314151617181920212223242526272829
package 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. Чи можна використовувати метод всередині іншого методу?

question mark

Що таке значення, яке повертає метод?

Select the correct answer

question mark

Що повертає метод з типом void?

Select the correct answer

question mark

Чи можна використовувати метод всередині іншого методу?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 5

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

course content

Зміст курсу

Java Extended

Java Extended

1. Глибока Структура Java
2. Методи
3. Рядки: Розширений Рівень
4. Класи
5. Класи: Розширений Рівень

book
Практика Методів

Практика

Методи можуть бути складними для розуміння, тому в цьому розділі наведено приклади різних методів у дії, показано, як вони працюють, де їх використовувати та як правильно писати й комбінувати кілька методів.

Приклад 1

Почнемо з методу, який приймає масив типу int і перевертає його так, що останнє значення стає першим, а перше стає останнім:

Main.java

Main.java

copy
123456789101112131415161718192021222324252627282930
package 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

Main.java

copy
12345678910111213141516171819202122232425262728293031
package 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

Main.java

copy
1234567891011121314151617181920212223242526272829
package 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. Чи можна використовувати метод всередині іншого методу?

question mark

Що таке значення, яке повертає метод?

Select the correct answer

question mark

Що повертає метод з типом void?

Select the correct answer

question mark

Чи можна використовувати метод всередині іншого методу?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 5
some-alt