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

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

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

qwe

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

1

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

qwe

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

1

Добавился элемент в коллекцию?true

Добавился элемент?true

Ввести город?Да(1)/Нет(2)

1

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

asd

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

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

asd

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

1

Добавился элемент в коллекцию?true

Добавился элемент?true

Ввести город?Да(1)/Нет(2)

2

Первый элемент вектора

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

qwe qwe 1

Последний элемент вектора

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

asd asd 1

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

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

qwe qwe 1

asd asd 1

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

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

qwe qwe 1

asd asd 1

Добавилась коллекция в вектор?true

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

qwe qwe 1

asd asd 1

qwe qwe 1

asd asd 1

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

cxz

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

1

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

cxz

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

1

Содержит вектор date объект A?true

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

qwe qwe 1

asd asd 1

cxz cxz 1

qwe qwe 1

asd asd 1

Добавилась коллекция в вектор?true

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

qwe qwe 1

asd asd 1

qwe qwe 1

asd asd 1

cxz cxz 1

qwe qwe 1

asd asd 1

Объем

10

Cодержится элемент в векторе?true

Cодержится коллекция в векторе?true

Объем

10

Объем

50

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

qwe qwe 1

asd asd 1

qwe qwe 1

asd asd 1

cxz cxz 1

qwe qwe 1

asd asd 1

cxz cxz 1

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

qwe qwe 1

asd asd 1

qwe qwe 1

asd asd 1

cxz cxz 1

qwe qwe 1

asd asd 1

cxz cxz 1

Cодержится элемент в векторе?false

Хэш код вектора

74255033

Пустой вектор?false

Очистелся вектор?true

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

asd asd 1

Удалился объект vektor@c2ea3f?true

Удалилась колекция?true

Удалились все элементы кроме коллекции?true

Элементы в коллекции

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

qwe qwe 1

asd asd 1

Элементы в векторе

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

qwe qwe 1

qwe qwe 1

asd asd 1

qwe qwe 1

asd asd 1

Задание №7

Условие

Используя класс, созданный в задании №3 продемонстрировать работу с файлами . Последовательно записать в файл несколько объектов, затем произвести считывание записи с нужным номером.

Структура файла

Вданной программе запись в файл реализована следующим образом:

(количество объектов)(размер следующего объекта)(сам объект)(размер следующего объекта)(сам объект)

Графическая илюстрация:

Блок схема

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

import java.io.*;

public class InOutput {

static private int i,j,size;

public int kol[],kol_m;

private String name_city;

static public int sizeObject[];

private String name_mayor[];

static private String name_file="D:\\write.txt";

static public int n;

//Метод ввода данных

public void Enter(){

try

{

BufferedReader a=new BufferedReader(new InputStreamReader(System.in));

System.out.println("Введите имя города");

String ch;

ch=a.readLine();

name_city = new String(ch.toString());

sizeObject[i]=sizeObject[i]+name_city.length();

System.out.print("Введите кол-во меров");

ch=a.readLine();

kol_m=Integer.parseInt(ch.toString());

sizeObject[i]=sizeObject[i]+4;

name_mayor=new String[kol_m];

kol=new int[kol_m];

for(j=0;j<kol_m;j++){

System.out.println("Введите имя мэра");

ch=a.readLine();

name_mayor[j] = new String(ch.toString());

sizeObject[i]=sizeObject[i]+name_mayor[j].length();

System.out.println("Кол-во голосов:");

ch=a.readLine();

kol[j] = Integer.parseInt(ch.toString());

sizeObject[i]=sizeObject[i]+4;

}

}

catch(IOException e){

System.out.println("gh");

}

}

//Метод записи в файл данных

public void write(){

try{

FileOutputStream outstream=new FileOutputStream(name_file,true);

BufferedOutputStream bufout=new BufferedOutputStream(outstream);

DataOutputStream out=new DataOutputStream(bufout);

out.writeBytes(name_city);

out.writeInt(kol_m);

for(j=0;j<kol_m;j++){

out.writeBytes(name_mayor[j]);

out.writeInt(kol[j]);

}

out.close();

}

catch(FileNotFoundException e){

System.out.println("Невозможно произвести запись в файл: " + name_file);

}

catch(IOException e){

System.out.println("Ошибка ввода/вывода: " + e.toString());

}

}

//Метод чтение записи номер , которой введен с клавиатуры

public int read(){

try{

File instream=new File(name_file);

RandomAccessFile in=new RandomAccessFile(instream,"r");

size=in.readInt();

System.out.println("В файле "+size+" записей");

int sizeO[]=new int[size];

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

sizeO[i]=in.readInt();

}

System.out.println("Введите номер записи которую надо прочесть");

BufferedReader a=new BufferedReader(new InputStreamReader(System.in));

String ch=a.readLine();

int nomer =Integer.parseInt(ch.toString());

int sum=16;

for(i=0;i<nomer-1;i++){

sum=sum+sizeO[i];

}

in.seek(sum);

byte[] arr=new byte[3];

in.read(arr);

name_city=new String(arr);

kol_m=in.readInt();

name_mayor=new String[kol_m];

kol=new int[kol_m];

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

in.read(arr);

name_mayor[i]=new String(arr);

kol[i]=in.readInt();

}

in.close();

return nomer;

}

catch(FileNotFoundException e){

System.out.println("Невозможно произвести запись в файл: " + name_file);

}

catch(IOException e){

System.out.println("Ошибка ввода/вывода: " + e.toString());

}

return 0;

}

//Метод печати объекта

public void Print(){

for(j=0;j<kol_m;j++){

System.out.print(name_city+" "+name_mayor[j]+" "+kol[j]+"\n");

}

}

public static void main(String[] args){

try{

BufferedReader a=new BufferedReader(new InputStreamReader(System.in));

System.out.print("Введите кол-во строк в таблице");

String ch=a.readLine();

n = Integer.parseInt(ch.toString());

System.out.println("n=" + n);

}

catch(IOException e){

System.out.println("df");

}

sizeObject=new int[n];

InOutput A[]=new InOutput[n];

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

A[i]=new InOutput();

A[i].Enter();

}

System.out.println("Исходные данные:");

System.out.print("Город Мэр Кол-во голосов\n");

for(i=0;i<n;i++)

A[i].Print();

System.out.println("Запись в файл"+name_file);

try{

FileOutputStream outstream=new FileOutputStream(name_file);

BufferedOutputStream bufout=new BufferedOutputStream(outstream);

DataOutputStream out=new DataOutputStream(bufout);

out.writeInt(n);

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

out.writeInt(sizeObject[i]);

System.out.println("sizeObject="+sizeObject[i]);

}

out.close();

}

catch(FileNotFoundException e){

System.out.println("Невозможно произвести запись в файл: " + name_file);

}

catch(IOException e){

System.out.println("Ошибка ввода/вывода: " + e.toString());

}

for(i=0;i<n;i++)

A[i].write();

System.out.println("Файл сформирован"+name_file);

InOutput B=new InOutput();

int nomer=B.read();

System.out.println(nomer+" Запись");

System.out.print("Город Мэр Кол-во голосов\n");

B.Print();

}

}

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