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

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

3.15345=3.15345->true

Infinity:true,false

NaN:false,true

d3 Infinite?true

d4 NaN?true

-Infinity

d3 == Infinity? false

d5=-0x1.8p1

d6=1234.0

d5>d1? -1

d1=d1 ?0

d1>d5 1

d5>d1 -1

Max_d1=1.7976931348623157E308

Min_d1=4.9E-324

d7=4614283356922483153

d2 в шестнадцатеричном представлении:0x1.93a43fe5c91d1p1

d2 в представлении ASCII cod:3.15345

Задание №5

Условие

На основании задания №2 исследовать работу исключительных ситуаций. Создать программу обработки следующих ситуаций:

  1. Исключительную ситуацию если введено имя мэра, которого нет в списке допустимых мэров

  2. Исключительную ситуацию если количество голосов превышает допустимое кол-во

Блок схема

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

package package1;

import java.io.IOException;

public class q5 {

static private char ch;

static private int i,j,c,r,key=0,kol_j[],kol_i;

private int kol[][],kol_m[],kol_max=10,l;

private String s;

private String name_city[];

private String name_mayor[][];

static public int n;

static private String list[];

private int amount=5;

q5(){

list=new String[amount];

list[0]="qqq";

list[1]="www";

list[2]="eee";

list[3]="rrr";

list[4]="ttt";

}

//Метод обработки исключительной ситуации , если мэра нет в списке

private void listexception()throws MyException{

StringBuffer str;

System.out.println("(1)Хотите поменять имя и продолжить ввод или (2)закончить ввод");

try{

str=new StringBuffer();

while ((ch = (char) System.in.read()) != '\n')

str.append(ch);

l=Integer.parseInt(str.toString());}

catch(IOException e){}

switch(l){

case '1':{try{key=0;str=new StringBuffer();

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

while ((ch = (char) System.in.read()) != '\n')

str.append(ch);

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

int l=0;

for(c=0;c<amount;c++){

if(name_mayor[i][j].equals(list[c]))

{

l++;

break;

}

}

if(l==0){

throw new ListException(name_mayor[i][j]);

}

break;}

catch(IOException e){}

catch(MyException List){

System.out.println("caught "+List);

listexception();

}

}

case '2':key=1;kol_j[i]=j+1;break;

}

}

//Метод обработки исключительной ситуации , если кол-во голосов превышает допустимое количество

private void kolexception()throws MyException{

StringBuffer str;

System.out.println("(1)Хотите поменять кол-во голосов и продолжить ввод или (2)закончить ввод");

try{

str=new StringBuffer();

while ((ch = (char) System.in.read()) != '\n')

str.append(ch);

l=Integer.parseInt(str.toString());}

catch(IOException e){}

switch(l){

case '1':{

try{

key=0;str = new StringBuffer();

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

while ((ch = (char) System.in.read()) != '\n')

if(ch!=13)str.append(ch);

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

if (kol[i][j]>kol_max){

throw new KolException(name_mayor[i][j]);

}

break;}

catch(IOException e){}

catch(MyException List){

System.out.println("caught "+List);

kolexception();

}

}

case '2':key=1;kol_j[i]=j+1;break;

}

}

//Метод ввода таблицы

public void Enter()throws MyException,ListException,KolException{

try

{

name_city = new String[n];

name_mayor=new String[n][];

kol=new int[n][];

kol_m=new int[n];

StringBuffer str = new StringBuffer();

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

while ((ch = (char) System.in.read()) != '\n')

str.append(ch);

name_city[i] = new String(str.toString());

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

str = new StringBuffer();

while ((ch = (char) System.in.read()) != '\n')

if(ch!=13)str.append(ch);

kol_m[i]=Integer.parseInt(str.toString());

name_mayor[i]=new String[kol_m[i]];

kol[i]=new int[kol_m[i]];

for(j=0;j<kol_m[i];j++)

{

str=new StringBuffer();

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

while ((ch = (char) System.in.read()) != '\n')

str.append(ch);

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

try

{

int l=0;

for(c=0;c<amount;c++)

{

if(name_mayor[i][j].equals(list[c]))

{

l++;

break;

}

}

if(l==0)

{

throw new ListException(name_mayor[i][j]);

}

}

catch(MyException List){

System.out.println("caught "+List);

listexception();}

if(key==1)

break;

str = new StringBuffer();

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

while ((ch = (char) System.in.read()) != '\n')

if(ch!=13)str.append(ch);

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

try

{

if (kol[i][j]>kol_max)

{

throw new KolException(name_mayor[i][j]); }

}

catch(MyException List){

System.out.println("caught "+List);

kolexception();}

}

}

catch(IOException e){}

}

//Метод распечатки таблицы

public void Print(int a){

for(j=0;j<kol_m[i]-kol_j[i];j++){

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

}

}

public void Print(){

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

}

//Метод обработки

public void Processing(){

for(c=0;c<kol_m[i]-1-kol_j[i];c++){

for(j=0;j<kol_m[i]-1-kol_j[i];j++){

if (kol[i][j]<kol[i][j+1])

{

r=kol[i][j+1];

kol[i][j+1]=kol[i][j];

kol[i][j]=r;

s=name_mayor[i][j+1];

name_mayor[i][j+1]=name_mayor[i][j];

name_mayor[i][j]=s;

}

}

}

}

public static void main(String[] args){

try{

StringBuffer str = new StringBuffer();

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

while ((ch = (char) System.in.read()) != '\n')

if(ch!=13)str.append(ch);

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

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

}catch(IOException e){}

kol_j=new int[n];

q5 A[]=new q5[n];

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

try{

A[i]=new q5();

A[i].Enter();

}catch(MyException List){

if (key!=0){

kol_i=i+1;

break;}

}

}

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

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

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

A[i].Print(1);

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

A[i].Processing();

System.out.print("Ответ\n");

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

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

A[i].Print();

}

}

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