Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
java_Otchet.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
477.28 Кб
Скачать

Результаты работы программы

Введите кол-во строк в таблице3

n=3

Введите имя города

qwe

Введите кол-во меров1

Введите имя мэра

qwe

Кол-во голосов:

1

Введите имя города

asd

Введите кол-во меров1

Введите имя мэра

asd

Кол-во голосов:

1

Введите имя города

cxz

Введите кол-во меров1

Введите имя мэра

cxz

Кол-во голосов:

1

Исходные данные:

Город Мэр Кол-во голосов

qwe qwe 1

asd asd 1

cxz cxz 1

Запись в файлD:\write.txt

sizeObject=14

sizeObject=14

sizeObject=14

Файл сформированD:\write.txt

В файле 3 записей

Введите номер записи которую надо прочесть

2

2 Запись

Город Мэр Кол-во голосов

asd asd 1

Задание №8 Условие

Составить программу, обеспечивающую создание графического пользовательского интерфейса.

Реализовать следующий алгоритм: в 1-е и 2-е поля для редактирования вводятся числа : в восьмеричной и двоичной системе исчисления . При нажатии кнопки “Применить” в 3-ем и 4-ом полях для редактирования заносится результат перевода в десятичную систему исчисления . При нажатии кнопки “Сумма”эти два числа складываются. При нажатия кнопки “Сброс” в поля очищаются.

Блок схема

Обработка событий

Событие =“Применить”

Перевод 1-ого и 2-ого числа в десятеричную систему исчисления

конец

Событие =“Сумма”

Событие =“Сброс”

Очистка полей

нет

да

нет

да

Сложение 1-ого и 2-ого числа

нет

да

Код программы

package test;

import java.util.*;

import javax.swing.*;

import java.awt.event.*;

import java.awt.*;

public class Solution {

public static void main(String []args){

ButtonFrame frame= new ButtonFrame();//создаем фрейм

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//операция отвечающая за окончание программы после закрытия фрейма

frame.setVisible(true);//делаем фрейм видимым

}

}

class ButtonFrame extends JFrame{

public ButtonFrame(){

setSize(DEFAULT_WIDTH,DEFAULT_HEIGHE);//размеры фрейма

setTitle("Перевод чисел и их сложение");//название фрейма

ButtonPanel panel=new ButtonPanel();//создаем панель

add(panel);//добавляем панель на фрейм

}

public static final int DEFAULT_WIDTH=700;

public static final int DEFAULT_HEIGHE=300;

}

class ButtonPanel extends JPanel{

public ButtonPanel(){

setLayout(null);

setFont(new Font("Srift",Font.PLAIN,14));

JLabel pol1=new JLabel("Введите число в восьмеричной системе исчисления:",Label.RIGHT);

pol1.setBounds(20, 30, 350, 25);

add(pol1);

JLabel pol2=new JLabel("Введите число в двоичной системе исчисления:",Label.RIGHT);

pol2.setBounds(20,60,350,25);

add(pol2);

JTextField textpol1=new JTextField();

textpol1.setBounds(350, 30, 100, 25);

add(textpol1);

JTextField textpol2=new JTextField();

textpol2.setBounds(350, 60, 100, 25);

add(textpol2);

JButton but1=new JButton("Применить");

but1.setBounds(500, 40, 100, 30);

add(but1);

JButton but2=new JButton("Сумма");

but2.setBounds(500, 80, 100, 30);

add(but2);

JButton but3=new JButton("Сброс");

but3.setBounds(500, 120, 100, 30);

add(but3);

JLabel response=new JLabel("Oтвет",JLabel.LEFT);

response.setBounds(30, 90, 50, 25);

add(response);

JLabel eightlabel=new JLabel("Перевод из 8-ой в 10-ую систему исчисления",JLabel.LEFT);

eightlabel.setBounds(30, 120, 300, 25);

add(eightlabel);

JTextField poleight=new JTextField();

poleight.setBounds(360, 120, 100, 25);

add(poleight);

JLabel twolabel=new JLabel("Перевод из 2-ой в 10-ую систему исчисления",JLabel.LEFT);

twolabel.setBounds(30, 150, 300, 25);

add(twolabel);

JTextField poltwo=new JTextField();

poltwo.setBounds(360, 150, 100, 25);

add(poltwo);

JLabel error=new JLabel("",JLabel.LEFT);

error.setBounds(30,210, 500, 25);

add(error);

JLabel sumlabel=new JLabel("Cумма двух чисел из поля 1 и 2",JLabel.LEFT);

sumlabel.setBounds(30, 180, 330, 25);

add(sumlabel);

JTextField sumpol=new JTextField();

sumpol.setBounds(360, 180, 100, 25);

add(sumpol);

bAction1 but1Action=new bAction1(textpol1,textpol2,poleight,poltwo,error);//создаем событие для каждого цвета(параметр-цвет)

bAction2 but2Action=new bAction2(textpol1,textpol2,poleight,poltwo,sumpol,error);

bAction3 but3Action=new bAction3(textpol1,textpol2,poleight,poltwo,sumpol);

but1.addActionListener(but1Action);

but2.addActionListener(but2Action);

but3.addActionListener(but3Action);

}

private class bAction1 implements ActionListener{

JTextField textpol1;

JTextField textpol2;

JTextField poleight;

JTextField poltwo;

JLabel error;

bAction1(JTextField textpol1,JTextField textpol2,JTextField poleigth,JTextField poltwo,JLabel error){

this.textpol1=textpol1;

this.textpol2=textpol2;

this.poleight=poleigth;

this.poltwo=poltwo;

this.error=error;

}

public int degree(int degree,int variable){

int i,value=1;

for(i=0;i<degree;i++){

value=value*variable;

}

return value;

}

public void actionPerformed(ActionEvent event){//реакция на нажатие кнопки-смена цвета панели

String pol1=textpol1.getText();

String pol2=textpol2.getText();

error.setText("");

int i,numb,twonumb=0,eightnumb=0,a,key=0;

numb=Integer.parseInt(pol1);

try{

for(i=0;i<pol1.length();i++){

a=numb%10;

if((a==8)||(a==9)){

throw new numbException(textpol1.getText(),"1");}

eightnumb=eightnumb+a*degree(i,8);

numb=numb/10;

}

}

catch(numbException e){

error.setText(e.toString());

key=1;

}

if(key!=1){

Integer eight=new Integer(eightnumb);

numb=Integer.parseInt(pol2);

try{

for(i=0;i<pol2.length();i++){

a=numb%10;

if((a!=0)&&(a!=1)){

throw new numbException(textpol2.getText(),"2");}

twonumb=twonumb+a*degree(i,2);

numb=numb/10;

}

}

catch(numbException e){

error.setText(e.toString());

key=1;

}

if(key!=1){

Integer two=new Integer(twonumb);

poleight.setText(eight.toString());

poltwo.setText(two.toString());

}

else{

poleight.setText("");

poltwo.setText("");

}

}

}

}

private class bAction2 implements ActionListener{

JTextField textpol1;

JTextField textpol2;

JTextField poleight;

JTextField poltwo;

JTextField sumpol;

JLabel error;

bAction2(JTextField textpol1,JTextField textpol2,JTextField poleigth,JTextField poltwo,JTextField sumpol,JLabel error){

this.textpol1=textpol1;

this.textpol2=textpol2;

this.poleight=poleigth;

this.poltwo=poltwo;

this.sumpol=sumpol;

this.error=error;

}

public int degree(int degree,int variable){

int i,value=1;

for(i=0;i<degree;i++){

value=value*variable;

}

return value;

}

public void actionPerformed(ActionEvent event){//реакция на нажатие кнопки-смена цвета панели

String pol1=textpol1.getText();

String pol2=textpol2.getText();

String eighttxt=poleight.getText();

String twotxt=poltwo.getText();

Integer sum;

if(!eighttxt.isEmpty()&&!twotxt.isEmpty()){

sum=new Integer(Integer.parseInt(eighttxt.toString())+Integer.parseInt(twotxt.toString()));

sumpol.setText(sum.toString());

}

else{

error.setText("");

int i,numb,twonumb=0,eightnumb=0,a,key=0;

numb=Integer.parseInt(pol1);

try{

for(i=0;i<pol1.length();i++){

a=numb%10;

if((a==8)||(a==9)){

throw new numbException(textpol1.getText(),"1");}

eightnumb=eightnumb+a*degree(i,8);

numb=numb/10;

}

}

catch(numbException e){

error.setText(e.toString());

key=1;

}

if(key!=1){

Integer eight=new Integer(eightnumb);

numb=Integer.parseInt(pol2);

try{

for(i=0;i<pol2.length();i++){

a=numb%10;

if((a!=0)&&(a!=1)){

throw new numbException(textpol2.getText(),"2");}

twonumb=twonumb+a*degree(i,2);

numb=numb/10;

}

}

catch(numbException e){

error.setText(e.toString());

key=1;

}

if(key!=1){

Integer two=new Integer(twonumb);

sum=new Integer(two+eight);

sumpol.setText(sum.toString());

}

}

}

}

}

private class bAction3 implements ActionListener{

JTextField textpol1;

JTextField textpol2;

JTextField poleight;

JTextField poltwo;

JTextField sumpol;

bAction3(JTextField textpol1,JTextField textpol2,JTextField poleigth,JTextField poltwo,JTextField sumpol){

this.textpol1=textpol1;

this.textpol2=textpol2;

this.poleight=poleigth;

this.poltwo=poltwo;

this.sumpol=sumpol;

}

public void actionPerformed(ActionEvent event){//реакция на нажатие кнопки-смена цвета панели

textpol1.setText("");

textpol2.setText("");

poleight.setText("");

poltwo.setText("");

sumpol.setText("");

}

}

}

package test;

public class numbException extends Exception{

private String msg;

private String pol;

public numbException(){

msg=null;

pol=null;

}

public numbException(String numb,String pol){

msg=numb;

this.pol=pol;

}

public String toString(){

return "Неправильный формат числа "+msg+" в поле "+pol+" введите еще раз";

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]