Программа вопрос ответ java

GUI программа спрашивает и выдает ответ — Java

Помогите пожалуйста написать код программы которая задает вопрос и выдает ответ. Программа должна иметь один JLabel и JButton (Пуск). После того как юзер нажимает кнопку пуск появляется вопрос, далее эта же кнопка должна стать «Показать ответ» и ответ появляется в JLabel. Затем кнопка становится «следующий вопрос». Все вопросы и ответы должны быть вбиты в код, не требуется никакой ввод. Я искал похожую программу на форуме но не нашел. Прошу помочь.

Код к задаче: «GUI программа спрашивает и выдает ответ»

public class CB extends JFrame < public CB() < setSize(400,250); setDefaultCloseOperation(EXIT_ON_CLOSE); label = new JLabel(); label.setPreferredSize(new Dimension(300, 200)); add(label, BorderLayout.SOUTH); add(button, BorderLayout.NORTH); >JLabel label; JButton button = createButton(); String question[] = ; String answer[] = ; private JButton createButton () < final JButton b = new JButton("Пуск"); ActionListener actionListener = new ActionListener() < int loop = 0; int index; final Random random = new Random(); @Override public void actionPerformed(ActionEvent e) < if (loop == 0) // задаем вопрос < b.setText("Показать ответ"); index = random.nextInt(question.length); label.setText(question[index]); loop = 1; >else // показываем ответ < b.setText("Следующий вопрос"); label.setText(answer[index]); loop = 0; >> >; b.addActionListener(actionListener); b.setPreferredSize(new Dimension(200, 100)); return b; > >

Источник

Создаем тест, лотерею и калькулятор
с помощью if и Scanner

Мы прошли, как считать данные с клавиатуры и оператор if. Наконец-то у нас развязаны руки, мы можем написать практически все, что угодно — по крайней мере простые программы. Приступим к долгожданному творчеству!

Читайте также:  Many project in java

Программа 1. Спрашиваем у человека, сколько будет 7*8, он вводит ответ, и мы сравниваем его с правильным значением 56. Это программа-тест. Вы можете сами сделать больше вопросов

// сначала стандартная шапка package javaapplicationA; import java.util.Scanner; public class JavaApplicationA < public static void main(String[] args) < // Задаем вопрос: System.out.println ("Привет!"); System.out.println ("Сколько будет 7*8?"); // Заводим x для хранения ответа и myscan, чтобы считать ответ int x = 0; Scanner myscan = new Scanner (System.in); // Икс приобретает значение функции nextInt () // nextInt возвращает число, введенное с клавиатуры x = myscan.nextInt (); // Если введено 56, то распечатать похвалу if (x == 56) < // помните, что двойное == значит сравнить, одинарное = значит изменить System.out.println ("Да, это совершенно верно!"); >else < // иначе распечатать, что человек ошибся System.out.println ("Нет, это просто абсурд. "); >/* так можно спрашивать и получать ответ и дальше, если повторять аналогичный код */ > > 

Программа 2. Создаём лотерею. Человек не знает, что несколько конкретных чисел выигрышные, и пробует ввести их наугад от 0 до 100. Мы сообщаем о выигрыше, если введенное число равно 4, 10, 40 или 89.

// сначала стандартная шапка package javaapplicationB; import java.util.Scanner; public class JavaApplicationB < public static void main(String[] args) < // Задаем вопрос: System.out.println ("Поучаствуйте в лотерее!"); System.out.println ("Введите целое число от 0 до 100"); // Заводим x для хранения ответа и myscan, чтобы считать ответ int x = 0; Scanner myscan = new Scanner (System.in); // Икс приобретает значение функции nextInt () // nextInt возвращает число, введенное с клавиатуры x = myscan.nextInt (); // Если х меньше 0 ИЛИ x больше 100, то завершаем программу if (x < 0 || x >100) < System.out.println ("Вы ввели число вне заданных границ!"); >else if (x == 4) < // иначе если x == 4, это Главный Приз System.out.println ("Да, ДЖЭКПОТ, вы выиграли ГЛАВНЫЙ ПРИЗ 1000000 $. "); >else if (x == 10) < // иначе если x == 10, это просто приз System.out.println ("Вам повезло! 100 рублей ваши!"); >else if (x == 40) < // иначе если x == 40, это просто приз System.out.println ("В этот раз мы дадим вам 10 рублей!"); >else if (x == 89) < System.out.println ("Ваш приз 1000 рублей. "); >else < System.out.println (“Попробуйте ещё в другой раз..”); >/* так можно спрашивать и получать ответ и дальше, если повторять аналогичный код */ > > 

Задача. Теперь напишите программу сами. На этот раз предлагаем вам написать калькулятор. Помните, что в предыдущей теме мы подробно разобрали, как вводить одиночные символ.

Читайте также:  Sqlite in java project

Техническое задание.
Ввести первое число.
Ввести обозначение арифметической операции, которую нужно выполнить, — это могут быть знаки +,-,*,/
Ввести второе число.
Выполнить введенную операцию над двумя этими числами, результат сохранить в переменную и распечатать.
Ввести следующую операцию и следующее число.
Выполнить новую операцию над результатом предыдущей и новым числом. Результат сохранить в переменную и распечатать.

Например, при вводе
10
+
20
распечатается 30, и можно будет ещё ввести
*
2
распечатается 60.
/* так и работает обычный калькулятор. Мы скоро пройдем циклы, и сможем выполнить, сколько угодно таких операций, не увеличивая объём кода */

Источник

Создаем тест, лотерею и калькулятор
с помощью if и Scanner

Мы прошли, как считать данные с клавиатуры и оператор if. Наконец-то у нас развязаны руки, мы можем написать практически все, что угодно — по крайней мере простые программы. Приступим к долгожданному творчеству!

Программа 1. Спрашиваем у человека, сколько будет 7*8, он вводит ответ, и мы сравниваем его с правильным значением 56. Это программа-тест. Вы можете сами сделать больше вопросов

// сначала стандартная шапка package javaapplicationA; import java.util.Scanner; public class JavaApplicationA < public static void main(String[] args) < // Задаем вопрос: System.out.println ("Привет!"); System.out.println ("Сколько будет 7*8?"); // Заводим x для хранения ответа и myscan, чтобы считать ответ int x = 0; Scanner myscan = new Scanner (System.in); // Икс приобретает значение функции nextInt () // nextInt возвращает число, введенное с клавиатуры x = myscan.nextInt (); // Если введено 56, то распечатать похвалу if (x == 56) < // помните, что двойное == значит сравнить, одинарное = значит изменить System.out.println ("Да, это совершенно верно!"); >else < // иначе распечатать, что человек ошибся System.out.println ("Нет, это просто абсурд. "); >/* так можно спрашивать и получать ответ и дальше, если повторять аналогичный код */ > > 

Программа 2. Создаём лотерею. Человек не знает, что несколько конкретных чисел выигрышные, и пробует ввести их наугад от 0 до 100. Мы сообщаем о выигрыше, если введенное число равно 4, 10, 40 или 89.

// сначала стандартная шапка package javaapplicationB; import java.util.Scanner; public class JavaApplicationB < public static void main(String[] args) < // Задаем вопрос: System.out.println ("Поучаствуйте в лотерее!"); System.out.println ("Введите целое число от 0 до 100"); // Заводим x для хранения ответа и myscan, чтобы считать ответ int x = 0; Scanner myscan = new Scanner (System.in); // Икс приобретает значение функции nextInt () // nextInt возвращает число, введенное с клавиатуры x = myscan.nextInt (); // Если х меньше 0 ИЛИ x больше 100, то завершаем программу if (x < 0 || x >100) < System.out.println ("Вы ввели число вне заданных границ!"); >else if (x == 4) < // иначе если x == 4, это Главный Приз System.out.println ("Да, ДЖЭКПОТ, вы выиграли ГЛАВНЫЙ ПРИЗ 1000000 $. "); >else if (x == 10) < // иначе если x == 10, это просто приз System.out.println ("Вам повезло! 100 рублей ваши!"); >else if (x == 40) < // иначе если x == 40, это просто приз System.out.println ("В этот раз мы дадим вам 10 рублей!"); >else if (x == 89) < System.out.println ("Ваш приз 1000 рублей. "); >else < System.out.println (“Попробуйте ещё в другой раз..”); >/* так можно спрашивать и получать ответ и дальше, если повторять аналогичный код */ > > 

Задача. Теперь напишите программу сами. На этот раз предлагаем вам написать калькулятор. Помните, что в предыдущей теме мы подробно разобрали, как вводить одиночные символ.

Техническое задание.
Ввести первое число.
Ввести обозначение арифметической операции, которую нужно выполнить, — это могут быть знаки +,-,*,/
Ввести второе число.
Выполнить введенную операцию над двумя этими числами, результат сохранить в переменную и распечатать.
Ввести следующую операцию и следующее число.
Выполнить новую операцию над результатом предыдущей и новым числом. Результат сохранить в переменную и распечатать.

Например, при вводе
10
+
20
распечатается 30, и можно будет ещё ввести
*
2
распечатается 60.
/* так и работает обычный калькулятор. Мы скоро пройдем циклы, и сможем выполнить, сколько угодно таких операций, не увеличивая объём кода */

Источник

Оцените статью