Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 30.04.2015
Сообщений: 6

Создание простого консольного ООП-приложения любой тематики

30.04.2015, 17:18. Показов 4466. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, нужна помощь в создании простого консольного приложения. Вот несколько условий:
1. Использовать возможности ООП: классы, наследование, полиморфизм, инкапсуляция.
2. Не использовать графический интерфейс! Приложение должно быть консольным.
3. Не использовать внешние источники данных: файлы, СУБД, XML.
4. Данные инициализации объектов передавать с помощью конструктора, функции или метода.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.04.2015, 17:18
Ответы с готовыми решениями:

Выполнение примера "Создание простого веб-приложения с использованием базы данных MySQL"
Добрый день! Выполняю пример "Создание простого веб-приложения с использованием базы данных MySQL" ...

GUI через c++ builder для простого консольного приложения
Есть вот такая простая консольная программа,помогите запилить GUI через C++ Builder,лучше всего наверное через StrinG Grid,хотя можно и...

Реализация выхода из консольного приложения после нажатия любой клавиши
суть задачки- написать таймер для консоли с возможностью остановки при нажатии любой клавиши. таймер написал, как реализовать остановку...

14
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
30.04.2015, 17:19
Lambortini, а что приложение должно делать?
1
0 / 0 / 0
Регистрация: 30.04.2015
Сообщений: 6
30.04.2015, 17:24  [ТС]
Не важно что, главное чтоб соответствовало условию.
0
30.04.2015, 17:25

Не по теме:

KEKCoGEN, +100500))) Можно и ничего не делать

0
0 / 0 / 0
Регистрация: 30.04.2015
Сообщений: 6
30.04.2015, 17:31  [ТС]
Если можно конечно как-то это реализовать, то хотелось бы что-то вроде приложение викторины-теста, скажем вопросов 10 и конечный соответствующий результат. Типа психологических тестов.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
30.04.2015, 17:40
Lambortini, если у вас есть задание, что именно мешает вам начать его делать? У вас есть вопросы по этим пунктам?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
30.04.2015, 17:46
можно все) вот, вроде по всем условиям, викторину предлагаю реализовать самому:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package test6;
 
/**
 *
 * @author Unknown
 */
 
class Nothing {
private String mainMessage; //инкапсуляция
    Nothing () { // конструктор, где инициализируем переменные
     mainMessage="Always do nothing!";
    }
    
    public void doNothing() {
        System.out.println(mainMessage);  
    }
    
    public void setMessage (String mainMessage) {
      this.mainMessage=mainMessage;  
    }
    
    public String getMessage () {
        return mainMessage;
    }
}
 
class moreNothing extends Nothing { // вот наследование
  private final String firstMessage;
  moreNothing (String firstMessage) { // конструктор с инициализацией
    this.firstMessage=firstMessage;   
  }
    
  @ Override public void doNothing ()   { //переопределили метод суперкласса
     System.out.println(getFirstMessage()+super.getMessage());  // все в консоли
  }
 
    public String getFirstMessage() {
        return firstMessage;
    }
}
 
public class Test6 {
 
    public static void main(String[] args) {
        Nothing not=new moreNothing("Subclass is cool: "); // вот и полиморфизм
        not.doNothing(); // вызывает переопределенный метод из подкласса
        not.setMessage("Yes, I know!"); // меняем сообщение с помощью метода
        not.doNothing(); // новый результат
        
    }
    
}
0
0 / 0 / 0
Регистрация: 30.04.2015
Сообщений: 6
30.04.2015, 18:23  [ТС]
KEKCoGEN дело в том что я новичок в Java, а приложение нужно срочно.

Добавлено через 11 минут
Цитата Сообщение от Welemir1 Посмотреть сообщение
можно все) вот, вроде по всем условиям, викторину предлагаю реализовать самому:
Можно взаимодействие добавить, вроде ответов да\нет?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
30.04.2015, 19:01
конечно можешь добавить) это так сказать некая основа, можешь добавлять что хочешь или вообще написать свое по данному примеру
1
0 / 0 / 0
Регистрация: 30.04.2015
Сообщений: 6
30.04.2015, 19:20  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
конечно можешь добавить) это так сказать некая основа, можешь добавлять что хочешь или вообще написать свое по данному примеру
можете предложить какой-нибудь другое приложение, просто срочно нужно?!
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
30.04.2015, 20:07
то есть? а чем мое то не угодило? под все условия вроде подходит. Могу посоветовать открыть книгу по Джава, там много примеров и взять приложение оттуда.
1
0 / 0 / 0
Регистрация: 30.04.2015
Сообщений: 6
30.04.2015, 20:22  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
то есть?
Я полный ноль в этом, поэтому в вашем приложении я к сожалению разобраться не могу, а вот если вы укажете куда вставить вопрос и чтоб он выводился в консоль и на него модно ответить да\нет, и существовало, скажем два конечных заключению по тесту-викторине, то было бы здорово)!
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
30.04.2015, 20:47
ну вот тебе вопрос-ответ, правда с вводом значения, главный класс поменяй на
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Test6 {
 
    public static void main(String[] args) {
        Nothing not=new moreNothing("Subclass is cool: "); // вот и полиморфизм
        not.doNothing(); // вызывает переопределенный метод из подкласса
        not.setMessage("Yes, I know!"); // меняем сообщение с помощью метода
        not.doNothing(); // новый результат
        Scanner in=new Scanner(System.in, "cp1251");
        boolean flag=false;
        while (!flag) {
        System.out.println("Угадайте, кто будет следующим Президентом РФ?");
        String s=in.nextLine();
        if (s.contains("Путин")) {
            flag=true;
            System.out.println("Правильно!");
        }
        else {
           System.out.println("Неправильно! Попробуйте еще раз"); 
        }
        }
    }
    
}
Цитата Сообщение от Lambortini Посмотреть сообщение
Я полный ноль в этом
тогда зачем тебе делать консольное приложение? Кто заставляет? А если заставляют, то эти злодеи полагают, что ты в этом не полный ноль? Почему книжку не почитать?
0
 Аватар для lemegeton
4903 / 2696 / 921
Регистрация: 29.11.2010
Сообщений: 5,783
30.04.2015, 21:01
Вот вам примитивная викторина с пришитыми вопросами. Но если вы полный ноль, вам это не поможет.

Кстати, из IDE не заработает -- потому что консоль, скорее всего, не создастся.

Question
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package quiz;
 
import java.util.List;
 
public class Question {
 
    private final String question;
    private final List<String> answers;
    private final int correct;
 
    Question(String question, List<String> answers, int correct) {
        if (correct < 0 || correct >= answers.size()) {
            throw new IllegalArgumentException(
                    String.format("correct answer number is %d but it should be in range of 0 to %d",
                            correct, answers.size()));
        }
        if (answers.size() < 2) {
            throw new IllegalArgumentException("number of answers should be less more than one");
        }
        this.question = question;
        this.answers = answers;
        this.correct = correct;
    }
 
    public String getQuestion() {
        return question;
    }
 
    public List<String> getAnswers() {
        return answers;
    }
 
    public int getCorrect() {
        return correct;
    }
 
    @Override
    public String toString() {
        return "Question{" +
                "question='" + question + '\'' +
                ", answers=" + answers +
                ", correct=" + correct +
                '}';
    }
}


Quiz
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package quiz;
 
import java.io.Console;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
 
public class Quiz {
    private final List<Question> questions;
 
    public Quiz(List<Question> questions) {
        this.questions = questions;
    }
 
    private List<Question> getShuffledQuestions() {
        final List<Question> questions = this.questions;
        Collections.shuffle(questions);
        return questions;
    }
 
    private boolean askQuestion(Question question, Console console) {
        System.out.println("Question:");
        System.out.println(question.getQuestion());
        System.out.println("Variants:");
        int i = 0;
        for (final String answer : question.getAnswers()) {
            System.out.printf("%d. %s%n", i++, answer);
        }
        System.out.print("Your choice: ");
        int answer = Integer.parseInt(console.readLine());
        System.out.printf("Your answer is %d, correct answer was %d%n%n", answer, question.getCorrect());
        return answer == question.getCorrect();
    }
 
    public void run() {
        final Console console = System.console();
        final List<Question> shuffledQuestions = getShuffledQuestions();
        int correctAnswers = 0;
        for (final Question question : shuffledQuestions) {
            if (askQuestion(question, console)) {
                correctAnswers++;
            }
        }
        System.out.println(String.format("You have answered %d out of %d",
                correctAnswers, shuffledQuestions.size()));
    }
}


Launcher
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.Arrays;
 
public class Launcher {
    private static final Question Q1 = new Question("Why are you crying?",
            Arrays.asList("I'm a little girl", "I'm a sissy", "Because fuck you, that's why"),
            2);
    private static final Question Q2 = new Question("Who's gonna do it?",
            Arrays.asList("Pushkin, A.S.", "Lermontov M.Y.", "Me"),
            0);
    private static final Question Q3 = new Question("Ex Nihilo?",
            Arrays.asList("Yes", "No", "Neither"),
            1);
 
    public static void main(String[] args) {
        new Quiz(Arrays.asList(Q1, Q2, Q3)).run();
    }
}


Воспользуйтесь лучше предложением Welemir1.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
30.04.2015, 21:07
lemegeton, если автор про мои 10 строк писал
Цитата Сообщение от Lambortini Посмотреть сообщение
в вашем приложении я к сожалению разобраться не могу
то ваше "примитивное" приложение-викторина может его вообще повергнуть в пучину отчаяния)
Цитата Сообщение от lemegeton Посмотреть сообщение
private static final Question Q1 = new Question("Why are you crying?",
* * * * * * Arrays.asList("I'm a little girl", "I'm a sissy", "Because fuck you, that's why"),
* * * * * * 2);
* * private static final Question Q2 = new Question("Who's gonna do it?",
* * * * * * Arrays.asList("Pushkin, A.S.", "Lermontov M.Y.", "Me"),
* * * * * * 0);
посмеялся от души, спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.04.2015, 21:07
Помогаю со студенческими работами здесь

Создание консольного приложения в Qt
добрый вечер ув. форумчане. собственно вот вопрос, почему окно терминала пустое после запуска приложения?? ...

Создание проекта консольного приложения
Проблема вот такая, не могу создать проэкт Консольное приложение win32. Появляется пустое окно и зависает. Далее нажать нельзя, отмену...

Создание окна из консольного приложения
Подскажите пожалуйста как создать окно в консольном с++

Создание формы с консольного приложения
Задача: Создать 1 форму. При нажатии SHIFT+5('%') отобразить ее. Проблема: При нажатии '%' создается новая форма, а не отображается...

delphi создание консольного приложения
здравствуйте:) пожалуйста подскажите как в Delphi при создании консольного приложения можно включать в создаваемую программу команды...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru