Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 отчет.doc
Скачиваний:
4
Добавлен:
21.09.2019
Размер:
123.9 Кб
Скачать

Import otchet2.Ford;

public class Main {

/**Не может быть, я разобрался с ними.

* Пришлось немного голову поломать.

* Связные списки для меня новое что то.

* Сталкивался в делфи, но использовал уже

* готовые классы. Прикольно.

* Извините, я не стал уж все так сильно отделять.

* В принципе в этой задаче главное показать массив и список

* Список работает, от чего сам в шоке.) Осенило только под утро

* Но не защищен от неправильного ввода.

*

* @param args

*/

public static void main(String[] args) {

Scanner sc= new Scanner(System.in);

int ind;

Ford x = new Ford();

CList newList = new CList();

System.out.println("команды:\n 1-работать с массивом\n n-работать со списком");

ind=sc.nextInt();

if (ind==1)

InpuMass.inputMass();

else {

fordCar.printHelp();

while(ind!=-1){

ind=sc.nextInt();

// оператор выора.

switch(ind){

case 1:

x=fordCar.createFordCar();

newList.Add(x);

break;

case 2:

//удаление из списка

System.out.println("Введите номер объекта для удаления.");

ind=sc.nextInt();

newList.drop(ind);

System.out.println("Объект удален.");

break;

case 3:

for (int a=1;a<=newList.length();a++){

System.out.println(newList.getObj(a));

System.out.println("_____________");

}

break;

case 4:

System.out.println(newList.length());

break;

}

}

}

}

}

package otchet2.zadacha4;

public interface ListObj {

public int length();

public void drop(int a);

public void Add(Object x);

public Object getObj(int a);

}

package otchet2.zadacha4;

Import java.Util.Scanner;

Import otchet2.Ford;

public class InpuMass {

public static void inputMass(){

Scanner sc= new Scanner(System.in);

Ford x = new Ford();

DinMassiv j=new DinMassiv(2,2);

int ind=-2;

//выводится список имеющихся команд.

fordCar.printHelp();

while(ind!=-1){

ind=sc.nextInt();

// оператор выора.

switch(ind){

case 1:

// заполнение полей объекта происходит

// в рандомном режиме в классе Command

x=fordCar.createFordCar();

j.Add(x);

break;

case 2:

//удаление из списка

System.out.println("Введите номер объекта для удаления.");

ind=sc.nextInt();

j.drop(ind);

System.out.println("Объект удален.");

break;

case 3:

for (int a=0;a<j.length();a++){

System.out.println(j.getObj(a));

System.out.println("_____________");

}

break;

case 4:

System.out.println(j.length());

break;

}

}

}

}

package otchet2.zadacha4;

import java.util.Random;

Import otchet2.Ford;

public class fordCar {

public static void printHelp(){

System.out.println("команды");

System.out.println("цифры 1 добавить новый объект");

System.out.println("цифра 2 удалить новый объект");

System.out.println("цифра 3 вывести данные списка");

System.out.println("цифра 4 проверка размера списка");

}

public static Ford createFordCar(){

Random rnd= new Random();

String color[] = {"красный","Зеленый"};

String Fabric[] = {"Московский","Вологодский"};

String TypeCor[]={"Седан","Хатчбек"};

Ford a = new Ford();

a.setColor(color[rnd.nextInt(2)]);

a.setFabric(Fabric[rnd.nextInt(2)]);

a.setNomer(rnd.nextInt(1000));

a.setProbeg(rnd.nextInt(10000));

a.setSeries(rnd.nextInt(100));

a.setTypeCor(TypeCor[rnd.nextInt(2)]);

return a;

}

}

package otchet2.zadacha4;

public class DinMassiv implements ListObj{

private int Cells=1, Add=1;

private int ind=0;

private Object[] mass1= new Object[Cells];

public DinMassiv(int colCells, int colAdd) {

Cells=colCells;

Add=colAdd;

mass1= new Object[Cells];

}

public void Add(Object x){

mass1[ind]=x;

Object[] mass2= new Object[Cells];

ind++;

if (Cells==ind){

mass2=mass1;

mass1= new Object[Cells+Add];

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

mass1[i]=mass2[i];

}

mass2= new Object[Cells+Add];

Cells=Cells+Add;

}

}

public void drop(int a){

mass1[a]=null;

for (int i=a;i<ind;i++){

mass1[i]=mass1[i+1];

}

ind--;

}

public int length(){

return ind;

}

public Object getObj(int a){

return mass1[a];

}

}

package otchet2.zadacha4;

class Cell {

Object a;

Cell next;

Cell(Object b){

a=b;

next=null;

}

}

class CList implements ListObj{

int length=0;

private Cell first=new Cell(null);

private Cell current=first;//

public void Add(Object x){

current.next = new Cell(x);

current = current.next;

length++;

}

public Object getObj(int num){

Object x = new Object();

int take=0;

current = first;

do{

current = current.next;

take++;

}

while (take != num);

x=current.a;

return x;

}

public void drop(int num){

int take=0;

current = first;

if (num!=1){

do{

current = current.next;

take++;

}

while (take != num-1);

current.next=(current.next).next;

length--;

}

else

current.next=(current.next).next;

length--;

}

public int length(){

return length;

}

}

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