Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Java / Лаб7

.docx
Скачиваний:
6
Добавлен:
27.01.2022
Размер:
1.11 Mб
Скачать

Министерство образования и науки Кыргызской Республики

Кыргызский Государственный Технический Университет имени И. Раззакова

Факультет ФИТ

Кафедра «Информатика и вычислительная техника»

ОТЧЕТ

По дисциплине: Java программирование

Лабораторная работа №7

Бишкек 2019

Вариант 21.

А-7) Написать приложение, в котором будет текстовое поле для ввода N, будет текстовое поле для вывода результата и будет кнопка, по нажатию на которую будет вычисляться и выводиться факториал. Интерфейс программы будет выглядеть так:

Код:

import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; import java.lang.String; public class lab6 { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setSize(300, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().setLayout(null); Font font = new Font("Verdana", Font.BOLD, 11 ); JLabel label = new JLabel("N = "); label.setBounds(30, 20, 50, 20); label.setFont(font); frame.add(label); JTextField number = new JTextField(); number.setBounds(80,20,80,20); number.setFont(font); frame.add(number); JLabel label2 = new JLabel("F = N! = "); label2.setBounds(30, 130, 60, 20); label2.setFont(font); frame.add(label2); JTextField pattern = new JTextField(); pattern.setBounds(90,130,80,20); pattern.setFont(font); frame.add(pattern); JButton btn = new JButton("Подсчитать"); btn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int n = Integer.parseInt(number.getText()); int F = 1; for(int i = 1; i <= n; i++){ F = F * i; } pattern.setText(String.valueOf(F)); } }); btn.setFont(font); btn.setBounds(40, 70, 120, 20); frame.getContentPane().add(btn); frame.setVisible(true); } }

Вывод:

Б–4) Создать программу для вывода чисел в виде узора.

Вариант:

9

5 4 3 2 1

4 3 2 1

3 2 1

2 1

1

Код:

import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; import java.lang.String; public class lab6 { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setSize(350, 400); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().setLayout(null); Font font = new Font("Verdana", Font.BOLD, 11 ); JLabel label = new JLabel("Размерность узора: "); label.setBounds(30, 20, 150, 20); label.setFont(font); frame.add(label); JSpinner number = new JSpinner(new SpinnerNumberModel(1, 1, 10, 1)); number.setBounds(190,20,50,20); number.setFont(font); frame.add(number); JLabel label2 = new JLabel("Узор: "); label2.setBounds(30, 100, 50, 20); label2.setFont(font); frame.add(label2); JTextArea pattern = new JTextArea(); pattern.setBounds(90,100,200,200); pattern.setFont(font); frame.add(pattern); JButton btn = new JButton("Нарисовать"); btn.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String str = ""; Object kol = number.getValue(); int n = Integer.parseInt(kol.toString()); for(int i = n; i >= 1; i--){ for(int j = i; j >= 1; j--){ String k = String.valueOf(j); str += k + " "; } str += "\n"; } pattern.setText(str); } }); btn.setFont(font); btn.setBounds(60, 60, 120, 20); frame.add(btn); frame.setVisible(true); } }

Вывод:

Б-6) Создание сложного изображения из повторяющегося простого. Создать N рядов изображений из множества M логотипов в каждом ряде.

Рисунок логотипа должен быть максимально простым.

0

Код:

import java.awt.*; import javax.swing.*; public class lab6 { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setSize(500,500); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().setLayout(null); Logo log = new Logo(); log.setBackground(Color.white); log.setBounds(10, 10, 480, 480); frame.add(log); frame.setVisible(true); } }

mport java.awt.*; import java.awt.Color; import javax.swing.*; public class Logo extends JPanel { public void paint(Graphics g) { super.paint(g); Graphics2D g2 = (Graphics2D) g; g2.setStroke(new BasicStroke(2.0f)); g2.setColor(Color.BLACK); for(int i = 0; i < 9; i++){ for(int j = 0; j < 7; j++){ g2.drawOval(10+(i*40),20+(j*40),30,30); g2.drawLine(25+(i*40),20+(j*40),25+(i*40),35+(j*40)); g2.drawLine(15+(i*40),42+(j*40),25+(i*40),35+(j*40)); g2.drawLine(35+(i*40),42+(j*40),25+(i*40),35+(j*40)); } } } }

Вывод:

Б-3) Необходимо создать изображение с использованием разных цветов (минимум 3 разных цвета). Изображение должно быть достаточно сложным – в нем должно быть около 25–40 элементов.

Задание считается выполненным при наличии бумажного листка с оцифровкой точек картинки.

Например:

Вариант: 19. Мост

Код:

import java.awt.*; import javax.swing.*; public class lab6 { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setSize(500,500); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().setLayout(null); Bridge bridge = new Bridge(); bridge.setBackground(Color.white); bridge.setBounds(0, 0, 500, 500); frame.add(bridge); frame.setVisible(true); } }

import java.awt.*; import java.awt.Color; import javax.swing.*; public class Bridge extends JPanel { private int width; private int height; public void paint(Graphics g) { super.paint(g); width = getWidth(); // сохраняем текущую ширину панели height = getHeight(); // и высоту drawGrid(g); // рисуем сетку drawPlant(g); } private void drawGrid(Graphics g) { g.setColor(Color.LIGHT_GRAY); g.setFont(new Font("Tahoma", Font.BOLD, 10)); for(int x = 30; x < width-30; x += 30){ g.drawLine(x, 30, x, height-30); // вертикальная линия String str = String.valueOf(x); g.drawString(str, x - 10, 20); } for(int y = 30; y < height-30; y += 30){ g.drawLine(30, y, width-30, y); // горизонтальная линия String str = String.valueOf(y); g.drawString(str, 5, y + 5); } } private void drawPlant(Graphics g) { Graphics2D g2 = (Graphics2D) g; g2.setStroke(new BasicStroke(4.0f)); Color myWhite = new Color(150, 75, 0); Color myWhite2 = new Color(101, 67, 33); Color myWhite3 = new Color(101, 67, 50); g2.setColor(myWhite); g2.drawArc( -60, 100, 150, 150, 0, -70); g2.drawArc(90, 100, 150, 150, 180, 180); g2.drawArc(240, 100, 150, 150, 180, 180); g2.drawArc(390, 100, 150, 150, 180, 80); g2.setColor(myWhite2); g2.setStroke(new BasicStroke(8.0f)); g2.drawLine(90,180,90,300); g2.drawLine(240,180,240,300); g2.drawLine(390,180,390,300); g2.setColor(myWhite3); g2.drawLine(40,270,450,270); g2.setColor(myWhite); g2.setStroke(new BasicStroke(3.0f)); g2.drawLine(55,240,55,270); g2.drawLine(75,222,75,270); g2.drawLine(105,222,105,270); g2.drawLine(125,240,125,270); g2.drawLine(145,250,145,270); g2.drawLine(165,250,165,270); g2.drawLine(185,250,185,270); g2.drawLine(205,240,205,270); g2.drawLine(225,222,225,270); g2.drawLine(255,222,255,270); g2.drawLine(275,240,275,270); g2.drawLine(295,250,295,270); g2.drawLine(315,250,315,270); g2.drawLine(335,250,335,270); g2.drawLine(355,240,355,270); g2.drawLine(375,222,375,270); g2.drawLine(405,222,405,270); g2.drawLine(425,240,425,270); g2.drawLine(445,250,445,270); } }

Вывод:

Соседние файлы в папке Java