1

Тема: Моделюємо верховну раду

Моделюємо верховну раду.

Створити клас Людина, описати його наступними полями : вага, ріст, додати джентельменський набір. Створити клас депутат , унаслідувати його від Людини.
Описати його такими полями: прізвище, імя, вік, хабарник(Буліановське), розмір хабаря(не передавати в конструктор). Додати джентельменський набір . Додати метод : дати хабар(), в якому передбачити наступне :

  • якщо поле хабарник false - то вивести на консоль :" Цей депутат не бере хабарів", якщо умова не виконується, то ввести з консолі суму хабаря яку ви даєте,якщо це сума більша 5000, вивести на консоль "Миліція увязнить депутата",якщо не більша то занести в поле класу хабар дану суму.

Створити клас фракція ,якому описати наступні методи :

  • додати депутата(вводимо з консолі)

  • видалити депутата(вводимо з консолі)

  • вивести всіх хабарників у фракції

  • вивести найбільшого хабарника у фракції

  • вивести всіх депутатів фракції

  • очистити всю фракцію від депутатів

Створити клас верховна рада і реалізувати в ньому наступні методи(дозволено створити тільки один екземпляр даного класу(singleton)):

  • додати фракцію

  • видалити фракцію

  • вивести всі фракції

  • вивести конкретну фракцію

  • додати депутата до конкретної фракції

  • видалити депутата(вводимо з консолі)

  • вивести всіх хабарників у фракції

  • вивести найбільшого хабарника у фракції

  • вивести всіх депутатів фракції

Створити клас Мейн в якому описати наступне консольне меню:

MINIMUM:

  • Введіть 1 щоб додати фракцію

  • Введіть 2 щоб видалити конкретну фракцію

  • Введіть 3 щоб вивести усі  фракції

  • Введіть 4 щоб очистити конкретну фракцію

  • Введіть 5 щоб вивести конкретну фракцію

MAXIMUM:

  • Введіть 6 щоб додати депутата в фракцію

  • Введіть 7 щоб видалити депутата з фракції

  • Введіть 8 щоб вивести список хабарників

  • Введіть 9 щоб вивести найбільшого хабарника

Мої напрацювання
package ua.lviv.lgs;

import java.util.Scanner;

public class Task_1 {

    public class Human  {

        private int height;
        private int weight;

        public Human(int height, int weight) {
            super();
            this.height = height;
            this.weight = weight;
        }

        public int getHeight() {
            return height;
        }

        public void setHeight(int height) {
            this.height = height;
        }

        public int getWeight() {
            return weight;
        }

        public void setWeight(int weight) {
            this.weight = weight;
        }



        @Override
        public String toString() {
            return "Human [height = " + height + ", weight = " + weight + "]";
        }
    }

    public class Deputy extends Human {

        private String surname;
        private String name;
        private int age;
        private boolean corrupt;
        private double bribe;
        private double bribeSize;

        Deputy(String surname, String name, int age, boolean corrupt, double bribe, double bribeSize) {
            this.surname = surname;
            this.name = name;
            this.age = age;
            this.corrupt = corrupt;
            this.bribe = bribe;
            this.bribeSize = bribeSize;
        }

        public String getSurname() {
            return surname;
        }

        public void setSurname(String surname) {
            this.surname = surname;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public int getAge() {
            return age;
        }

        public void setAge(int age) {
            this.age = age;
        }

        public boolean GetCorrupt() {
            return(corrupt);

        }

        public boolean setCorrupt() {
            return(corrupt);

        }

        @Override
        public String toString() {
            return "Deputy [surname - " + surname + ", name - " + name + ", age - " + age + "corrupt - " + corrupt + "bribe"+ bribe + "]";
        }

        public void give_a_bribe(){

            Scanner scan = new Scanner(System.in);
            if(corrupt == false) {
                System.out.println("Цей депутат не бере хабарів");
            } else {
                System.out.println("Введіть суму хабаря яку ви даєте : ");
                double bribe = scan.nextDouble();
                if(bribe > 5000) {
                    System.out.println("Поліція ув'язнить депутата");
                } else {
                    bribeSize = bribe;
                }
            }
        }
    }
}

2 Востаннє редагувалося koala (04.01.2019 11:38:56)

Re: Моделюємо верховну раду

Трохи про назви: deputy - це "заступник", депутат - це representative чи MP, member of parliament.
А питання в чому? В тому, що ви не знаєте різниці між ECMAScript та Java?

Декалог програміста-початківця: https://replace.org.ua/post/132988/
Подякували: leofun011

3 Востаннє редагувалося VTrim (04.01.2019 11:41:44)

Re: Моделюємо верховну раду

> Цей депутат не бере хабарів"

Program crashed, system error

=)

4

Re: Моделюємо верховну раду

VTrim, не треба всіх людей по собі судити.

Декалог програміста-початківця: https://replace.org.ua/post/132988/

5

Re: Моделюємо верховну раду

koala написав:

VTrim, не треба всіх людей по собі судити.

Ви це зараз серйозно? Невже почнете читати проповідь про те, що не всі такі? Так це очевидно й зрозуміло. Не зрозуміло інше, навіщо лізти в штики через баянистий жарт?

=)

6 Востаннє редагувалося leofun01 (04.01.2019 18:34:15)

Re: Моделюємо верховну раду

Перенесено з "JavaScript" в "Java".

Якщо ціль - "викласти код для публічного доступу", то краще використовувати сайти, які були створені спеціально для цього.

Подякували: oleksandra19k1

7

Re: Моделюємо верховну раду

Чи доречно використовувати для методу ось такий функціонал, і як видалити депутата? Дякую!

    public Debuty DodatyDep() {
        System.out.println("Додати депутата");
        weight = Main.scan.nextDouble();
        System.out.println("Введіть зріст: ");
        height = Main.scan.nextDouble();
        System.out.println("Введіть прізвище: ");
        firstName = Main.scan.nextLine();
        System.out.println(firstName);
        System.out.println("Введіть ім'я: ");
        lastName = Main.scan.nextLine();
        System.out.println("Введіть вік: ");
        age = Main.scan.nextInt();
        Debuty debuty = new Debuty(weight, height, firstName, lastName, age, true, 0);
        System.out.println("Додано депутата: "+debuty);
        return debuty;
    }

8

Re: Моделюємо верховну раду

Прихований текст
 ua.lviv.lgs

ги, це в логосі таким займаються?

Навчаюсь вчитись, щоб навчатись.

9

Re: Моделюємо верховну раду

чому логос?

10

Re: Моделюємо верховну раду

львів і lgs.

Навчаюсь вчитись, щоб навчатись.

11

Re: Моделюємо верховну раду

oleksandra19k написав:

як видалити депутата?

Перед видаленням треба зняти недоторканість :), але будьте обережні, бо може вилетіти

throw new ScandalException();
Подякували: oleksandra19k, koala2

12

Re: Моделюємо верховну раду

oleksandra19k написав:

Чи доречно використовувати для методу ось такий функціонал, і як видалити депутата? Дякую!

    public Debuty DodatyDep() {
        System.out.println("Додати депутата");
        weight = Main.scan.nextDouble();
        System.out.println("Введіть зріст: ");
        height = Main.scan.nextDouble();
        System.out.println("Введіть прізвище: ");
        firstName = Main.scan.nextLine();
        System.out.println(firstName);
        System.out.println("Введіть ім'я: ");
        lastName = Main.scan.nextLine();
        System.out.println("Введіть вік: ");
        age = Main.scan.nextInt();
        Debuty debuty = new Debuty(weight, height, firstName, lastName, age, true, 0);
        System.out.println("Додано депутата: "+debuty);
        return debuty;
    }

Впринципі метод нормальний але з точку зору java ви не додали депутата а створили новий екземпляр класу депутат. Тому я б назвав його CreateDep. Щоб видалити депутата його треба спочатку кудись додати. Для цього можна використовувати колекції. Наприклад у вас може бути ArrayList<Debuty> і після того як ви його створили ви можете додати його в цей список. А у методі видалення депутата видалити його з цього списку.

І ще у вас метод який дозволяє змінити чи даний депутат хабарник чи ні написаний не правильно.

І ще в конструкторі класу депутат у вас є параметр який означає скільки цей депутат уже отримав хабарів хоча в завданні пише що такого параметру не потрібно. І в цьому є сенс. Це новий депутат. Ви тільки його створили він ще не встиг взяти ні одного хабара, дайте йому час освоїтись будьте людиною :)

Подякували: leofun01, ostap34PHP, oleksandra19k3