Урок 48: Enum (Перечисления). 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Урок 48: Enum (Перечисления).



Как использовались Перечисления на появления Enum.

 

 

 

 

public class Test {
// Создаем Список животных.
private static final int DOG = 0;
private static final int CAT = 1;
private static final int FROG = 2;

public static void main(String[] args) {
   int animal = DOG;

   switch (animal){
       case DOG:
           System. out. println ("It's a dog!");
            break;
       case CAT:
           System. out. println ("It's a cat!");
           break;
       case FROG:
           System. out. println ("It's a frog!");
           break;
           default:
               System. out. println ("It's an animal!");
   }
}
}

 

Вывод в консоль:

 

It's a dog!

 

 

Как используется появления с Enum.

 

Создаем Enum.

Обычно дается имя в Единственном числе.

 

 

 

 

 

 

public enum Animal {
DOG, CAT, FROG
}

 

 

public class Test {
public static void main(String[] args) {
   Animal animal = Animal. CAT;

   switch (animal){
       case DOG:
           System. out. println ("It's a dog!");
           break;
       case CAT:
           System. out. println ("It's a cat!");
           break;
       case FROG:
           System. out. println ("It's a frog!");
           break;
       default:
           System. out. println ("It's an animal!");

   }
}
}

 

 

Вывод в консоль:

 

It's a cat!

 

 

Делаем переводчик.

 

public enum Animal {
DOG ("Собака"), CAT ("Кошка"), FROG ("Лягушка"); // <- Ставим ";"!!!
/*
Создаем конструктор для перевода
названий животных на русский язык.
!!! В Enum конструктор "private" по умолчанию!!!
"private" можно не указывать.
*/
private String translation;
Animal(String translation){
   this. translation = translation;
}

public String getTranslation(){
   return translation;
}

public String toString(){
   return " Перевод на русский язык: " + translation;
}
}

 

 

public class Test {
public static void main(String[] args) {
   Animal animalD = Animal. DOG;
   System. out. println (animalD);

   Animal animalC = Animal. CAT;
   System. out. println (animalC); }
}

 

 

Вывод в консоль:

 

Перевод на русский язык: Собака

Перевод на русский язык: Кошка

 

 

Полезные методы.

 

 

public class Test {
public static void main(String[] args) {
   Animal animalD = Animal. DOG;
   System. out. println (animalD.name ());
}
}

 

 

Вывод в консоль:

 

DOG

 

 

public class Test {
public static void main(String[] args) {
   Animal frog = Animal. valueOf ("FROG");
   System. out. println (frog);
}
}

 

 

Вывод в консоль:

 

Перевод на русский язык: Лягушка

 

 

public class Test {
public static void main(String[] args) {
   /*
   Элементы Enum имеют свой индекс
   от "0" и далее.
   DOG(" Собака "), CAT(" Кошка "), FROG(" Лягушка ")
    */
  
Animal dog = Animal. DOG;
   System. out. println (dog.ordinal ());
}
}

 

Вывод в консоль:

 

0

 

 

Урок 49: Рекурсия.

Рекурсия - это вызов метода в теле этого-же метода.

 

 

 

public class Test {
public static void main(String[] args) {
   someMethod ();
}
private static void someMethod() {
   System. out. println ("Hello!");
   someMethod ();
}
}

 

 

Вывод в консоль:

 

 

 

Предотвращаем попытку Рекурсии выйти за пределы стека памяти.

 

 

public class Test {
public static void main(String[] args) {
   someMethod ();
}
static int i = 0;
private static void someMethod() {
   System. out. println ("Hello!");
   i ++;
   if (i == 3) {
       return;
   }
   someMethod ();
}
}

 

 

Вывод в консоль:

 

Hello!

Hello!

Hello!

 

 

Поиск факториала с Рекурсией.

 

 

public class Test {
public static void main(String[] args) {
   System. out. println (fac (4));
}

private static int fac(int n){
   if (n == 1) {
       return 1;
   }
   return n * fac (n -1);
}
}

 

 

Вывод в консоль:

 

24

 

 

Поиск факториала без Рекурсии, с циклом for.

 

 

public class Test {
public static void main(String[] args) {

   System. out. println (fac (4));
}
public static int fac(int x){
   int y = 1;
   for (int i = 1; i <= x; i++) {
       y *= i;
   }
   return y;
}
}

 

 

Вывод в консоль:

 

24

 

 

 

 



Поделиться:


Последнее изменение этой страницы: 2020-12-17; просмотров: 55; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.140.198.43 (0.01 с.)