• Июня 05, 2020, 03:20:46 am
• Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Новости: Вебинар по выбору IT профессии: http://bit.ly/2S4kcC6

Автор Тема: Java Start online Домашняя работа Pul Maksym  (Прочитано 909 раз)

maksym Rul

  • Пользователи
  • *
  • Сообщений: 63
    • Просмотр профиля
    • E-mail
Re: Java Start online Домашняя работа Pul Maksym
« Ответ #90 : Мая 23, 2020, 07:01:04 pm »
Многопоточность (2);
задача 1 ,про корабли с грузов 10 ;
package com.gmail.maksa21049;

public class Ship implements Runnable {
private String name;
private int cargo;

public Ship(String name, int cargo) {
super();
this.name = name;
this.cargo = cargo;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getCargo() {
return cargo;
}

public void setCargo(int cargo) {
this.cargo = cargo;
}

@Override
public void run() {
Thread th = Thread.currentThread();
for (int i = this.cargo; this.cargo != 0;) {
System.out.println(this.cargo -= 1);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (this.cargo == 0) {
System.out.println("This ship is empty");

}
}

}

}
package com.gmail.maksa21049;


import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class Main {

public static void main(String[] args) {
ExecutorService  dok = Executors.newFixedThreadPool(2);
dok.execute(new Ship("Ambrela",10));
dok.execute(new Ship("Bleak Pearl",10));
dok.execute(new Ship("CuttleFish",10));



}

}

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 13766
    • Просмотр профиля
    • E-mail
Re: Java Start online Домашняя работа Pul Maksym
« Ответ #91 : Мая 23, 2020, 11:33:24 pm »
Maksym Rul

Решение верное. Согласитесь так решение гораздо проще.

maksym Rul

  • Пользователи
  • *
  • Сообщений: 63
    • Просмотр профиля
    • E-mail
Re: Java Start online Домашняя работа Pul Maksym
« Ответ #92 : Мая 26, 2020, 11:01:30 am »
Задание № 2 (ООР) Многопоточность(2) скопировать файл ;
package com.gmail.maksa21049;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;


public class Main {

public static void main(String[] args) {
File out = new File("txt.myfile");
File in = new File(out.getAbsoluteFile() + File.separator + out.getName() + "1");
try {
in.createNewFile();
out.createNewFile();
} catch (IOException d) {
d.printStackTrace();
}
try(RandomAccessFile rafWrite = new RandomAccessFile(out,"r");
RandomAccessFile rafRead = new RandomAccessFile(in,"w");){
ExecutorService thread = Executors.newFixedThreadPool(2);
thread.execute(new CopyFile(out, in, rafRead, true));
thread.execute(new CopyFile(out, in, rafWrite, false));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}


}

}
package com.gmail.maksa21049;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.RandomAccessFile;

public class Action {
private boolean turn;


public Action(boolean turn) {
super();
this.turn = turn;
}

public Action() {
super();
// TODO Auto-generated constructor stub
}

public synchronized String copyFile(File out, File in, RandomAccessFile raf, boolean turn) throws IOException {
for (; this.turn = !turn;) {
try {
wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}

String text = "";
int b = raf.read();
for (; b != -1;) {
text += (char) b;
b = raf.read();
}
raf.write(text.getBytes());
raf.close();
this.turn = !this.turn;
notifyAll();
return text;
}

}
package com.gmail.maksa21049;

import java.io.File;

import java.io.IOException;
import java.io.RandomAccessFile;

public class CopyFile implements Runnable {
private File out;
private File in;
private Action ac;
private RandomAccessFile raf;
private boolean turn;

public CopyFile(File out, File in, RandomAccessFile raf, boolean turn) {
super();
this.out = out;
this.in = in;
this.raf = raf;
this.turn = turn;
}

public CopyFile() {
super();
// TODO Auto-generated constructor stub
}

@Override
public void run() {
try {
System.out.println(ac.copyFile(out, in, raf, turn));
} catch (IOException e) {
e.printStackTrace();
}
}

}

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 13766
    • Просмотр профиля
    • E-mail
Re: Java Start online Домашняя работа Pul Maksym
« Ответ #93 : Мая 26, 2020, 01:17:39 pm »
Maksym Rul

Решение верное. ОО я смотрю Executor все таки начинаете использовать.

maksym Rul

  • Пользователи
  • *
  • Сообщений: 63
    • Просмотр профиля
    • E-mail
Re: Java Start online Домашняя работа Pul Maksym
« Ответ #94 : Мая 27, 2020, 01:11:49 pm »
задание №3; поиск файлов ;
import java.io.File;

public class CheckFile implements Runnable {
private String nameFile;
private File folder;



public CheckFile(String nameFile, File folder) {
super();
this.nameFile = nameFile;
this.folder = folder;
}

public void getNameFile(String nameFile) {
this.nameFile = nameFile;
if (folder.isDirectory()) {
File[] arrayFile = folder.listFiles();
for (File file : arrayFile) {
if (file.getName().compareTo(nameFile) == 0) {
System.out.println("File name-" + nameFile + "adress" + file.getAbsolutePath());
}
}
} else {
if (folder.getName().equals(nameFile)) {
System.out.println("File name-" + nameFile + "adress" + folder.getAbsolutePath());
}

}

}

@Override
public void run() {
getNameFile(nameFile);
}

}
import java.io.File;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;

public class Main {

public static void main(String[] args) {
File  directory = new File("C:\\Users\\Максим\\Pictures.GemeCenter");
File folder = new File("E:\\.Eclipse");
Executor thread = Executors.newFixedThreadPool(2);
thread.execute(new CheckFile("ArcheAge_sample",directory));
thread.execute(new CheckFile(".classpath",folder));

}

}

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 13766
    • Просмотр профиля
    • E-mail
Re: Java Start online Домашняя работа Pul Maksym
« Ответ #95 : Мая 28, 2020, 12:19:58 am »
Мaksym Rul

Решение верное

maksym Rul

  • Пользователи
  • *
  • Сообщений: 63
    • Просмотр профиля
    • E-mail
Re: Java Start online Домашняя работа Pul Maksym
« Ответ #96 : Мая 30, 2020, 12:24:16 am »
Задание № 1 Object;
Мини база даных ;Слетает по ClassCastException помогите пожалуйста ;
package com.gmail.maksa21049;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

public class SharedGroup extends Group implements Serializable {


private static final long serialVersionUID = 1L;
private Group group;

public SharedGroup(int namberGroup, Group group) {
super(namberGroup);
this.group = group;
}

public SharedGroup() {
super();
// TODO Auto-generated constructor stub
}

public SharedGroup(int namberGroup) {
super(namberGroup);
// TODO Auto-generated constructor stub
}
public void addGroup(File file ) {
try(ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file));) {
oos.writeObject(file);
} catch (FileNotFoundException e) {

e.printStackTrace();
} catch (IOException e) {

e.printStackTrace();
}

}
public void getBackGroup(File file) {
try {
ObjectInputStream ois =  new ObjectInputStream(new FileInputStream(file));
try {
group = (Group) ois.readObject();
} catch (ClassNotFoundException e) {

e.printStackTrace();
}
} catch (FileNotFoundException e) {

e.printStackTrace();
} catch (IOException e) {

e.printStackTrace();
}





}

@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("SharedGroup [group=");
builder.append(group);
builder.append("]");
return builder.toString();
}

}
package com.gmail.maksa21049;

import java.io.File;
import java.io.IOException;

import javax.print.attribute.standard.SheetCollate;

public class Main {

public static void main(String[] args) {
Student onePerson = new Student("sdaa","asdasd","ada",18,'M');
Student twoPerson = new Student("adqe","sdf","12edas",19,'Ж');
Student threePerson = new Student("gtrw","qwer","kjh",18,'Ж');
Student fourPerson = new Student("dfrv","defg4e","jhuuj",19,'M');

Group five = new Group(5);

five.addStudent(onePerson);
five.addStudent(twoPerson);
five.addStudent(threePerson);
five.addStudent(fourPerson);
five.deleteStudent(twoPerson);
five.sortStudentByFirstname();
    System.out.println(five);
   
    SharedGroup date = new SharedGroup(5,five);
   File file =  new File("a.txt");
   try {
file.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
  date.addGroup(file);
  date.getBackGroup(file);
 
}


}

maksym Rul

  • Пользователи
  • *
  • Сообщений: 63
    • Просмотр профиля
    • E-mail
Re: Java Start online Домашняя работа Pul Maksym
« Ответ #97 : Мая 30, 2020, 02:34:57 pm »
Задание № 1 Object;
Мини база даных ;переделал вроде все работает корректно ;
package com.gmail.maksa21049;

import java.io.File;
import java.io.IOException;

public class Main {

public static void main(String[] args) {
Student onePerson = new Student("sdaa", "asdasd", "ada", 18, 'M');
Student twoPerson = new Student("adqe", "sdf", "12edas", 19, 'Ж');
Student threePerson = new Student("gtrw", "qwer", "kjh", 18, 'Ж');
Student fourPerson = new Student("dfrv", "defg4e", "jhuuj", 19, 'M');

Group five = new Group(5);

five.addStudent(onePerson);
five.addStudent(twoPerson);
five.addStudent(threePerson);
five.addStudent(fourPerson);
five.deleteStudent(twoPerson);
five.sortStudentByFirstname();
System.out.println(five);
File file = new File("a.txt");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
int size = (int) Math.random() * 10;
Group[] arrayGroups = new Group[size];
Facultet facultet = new Facultet(arrayGroups);
facultet.addGroupToFacultet(five, arrayGroups);
facultet.addGroup(file);
facultet.getBackGroup(file);
System.out.println();
System.out.println(five);

}

}
package com.gmail.maksa21049;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

public class Facultet extends Group implements Serializable {

private static final long serialVersionUID = 1L;
private int size;
private Group[] arrayGroup = new Group[size];

public Facultet(Group[] arrayGroup) {
super();
this.arrayGroup = arrayGroup;
}

public Facultet() {
super();

}

public int getSize() {
return size;
}

public void setSize(int size) {
this.size = size;
}

public Group[] getArrayGroup() {
return arrayGroup;
}

public void setArrayGroup(Group[] arrayGroup) {
this.arrayGroup = arrayGroup;
}

public void addGroupToFacultet(Group group, Group[] arrayGroups) {
for (int i = 0; i < arrayGroup.length; i++) {
if (arrayGroup[i] == null) {
arrayGroup[i] = group;
}
}
}

public void addGroup(File file) {
for (int i = 0; i < arrayGroup.length; i++) {

try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file));) {
oos.writeObject(arrayGroup[i]);
} catch (FileNotFoundException e) {

e.printStackTrace();
} catch (IOException e) {

e.printStackTrace();
}
}

}

public void getBackGroup(File file) {
for (int i = 0; i < arrayGroup.length; i++) {

try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));) {
arrayGroup[i] = (Group) ois.readObject();

} catch (FileNotFoundException e) {

e.printStackTrace();
} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();
}
}

}

}

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 13766
    • Просмотр профиля
    • E-mail
Re: Java Start online Домашняя работа Pul Maksym
« Ответ #98 : Мая 30, 2020, 04:51:20 pm »
Мaksym Rul

Ну хорошо что сами разобрались. Решение верно.

maksym Rul

  • Пользователи
  • *
  • Сообщений: 63
    • Просмотр профиля
    • E-mail
Re: Java Start online Домашняя работа Pul Maksym
« Ответ #99 : Мая 30, 2020, 08:33:34 pm »
Object 2 -3 задачи ;
package com.gmail.maksa21049;

public class ContainerStack implements Cloneable {
private Object[] objects;

public ContainerStack(Object[] objects) {
super();
this.objects = objects;
}

public ContainerStack() {
super();
}

public void addObject(Class<?> class1, BlackList list) {
if (list.checkClass(class1) == true) {
System.out.println("This class" + " [ " + class1 + " ] " + " added to Bleck list ");
} else {
for (int i = 0; i < objects.length; i++) {
if (objects[i] == null) {
objects[i] = class1;
}
}
}
}

public void deleteObgect(Class<?> class2) {
for (int i = objects.length - 1; i >= 0; i -= 1) {
if (objects[i].getClass().equals(class2) && objects[i + 1] == null) {
objects[i] = null;
}
}
}

public Object cloneObject(Object cloneObject) {

for (int i = objects.length - 1; i >= 0; i -= 1) {
if (objects[i].getClass().equals(cloneObject) && objects[i + 1] == null) {
cloneObject = objects.clone();
}
}
return cloneObject;
}

}
package com.gmail.maksa21049;

public class BlackList {
private Class [] arrayClass = new Class[10];

public BlackList(Class[] arrayClass) {
super();
this.arrayClass = arrayClass;
}

public BlackList() {
super();
// TODO Auto-generated constructor stub
}
public boolean checkClass(Object object) {
for (Class class1 : arrayClass) {
if(class1.getClass().equals(object)) {
return true;
}
}
return false;
}
public void addClass(Class class2) {
for (int i = 0; i < arrayClass.length; i++) {
if(arrayClass[i]== null) {
arrayClass[i]=class2;
}
}
}
public void deleteClass(Class class3) {
for (int i = 0; i < arrayClass.length; i++) {
if(arrayClass[i]!=null) {
arrayClass[i] = null;
}
}
}

}

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 13766
    • Просмотр профиля
    • E-mail
Re: Java Start online Домашняя работа Pul Maksym
« Ответ #100 : Мая 31, 2020, 11:27:21 pm »
Maksym Rul

Решение верное

maksym Rul

  • Пользователи
  • *
  • Сообщений: 63
    • Просмотр профиля
    • E-mail
Re: Java Start online Домашняя работа Pul Maksym
« Ответ #101 : Июня 02, 2020, 06:14:37 pm »
Задание 2;
Generics and Collections
переделать класс Group для более удобных методов  работы  с динамическими массивами  ;
package com.gmail.maksa21049;

import java.io.Serializable;

public class Human implements Serializable {

private static final long serialVersionUID = 1L;
private String firstname;
private String name;
private String sername;
private int age;
private char sex;
public Human(String firstname, String name, String sername, int age, char sex) {
super();
this.firstname = firstname;
this.name = name;
this.sername = sername;
this.age = age;
this.sex = sex;
}
public Human() {
super();
// TODO Auto-generated constructor stub
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSername() {
return sername;
}
public void setSername(String sername) {
this.sername = sername;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public char getSex() {
return sex;
}
public void setSex(char sex) {
this.sex = sex;
}
@Override
public String toString() {
return "Human [firstname=" + firstname + ", name=" + name + ", sername=" + sername + ", age=" + age + ", sex="
+ sex + "]";
}




}

maksym Rul

  • Пользователи
  • *
  • Сообщений: 63
    • Просмотр профиля
    • E-mail
Re: Java Start online Домашняя работа Pul Maksym
« Ответ #102 : Июня 03, 2020, 09:35:57 pm »
Generics and Collections
Задание 3;
подсчитать количество символов 'char' с файла;
package com.gmail.maksa21049;

public class ComperableChar implements Comparable<ComperableChar>{
private char symbol;
private int amount;

public ComperableChar(char symbol, int amount) {
super();
this.symbol = symbol;
this.amount = amount;
}


public char getSymbol() {
return symbol;
}


public void setSymbol(char symbol) {
this.symbol = symbol;
}


public int getAmount() {
return amount;
}


public void setAmount(int amount) {
this.amount = amount;
}


public ComperableChar() {
super();
// TODO Auto-generated constructor stub
}


@Override
public int compareTo(ComperableChar symbol) {
if(this.getAmount()>symbol.getAmount()) {
return 1;
}else if(this.getAmount()<symbol.getAmount()) {
return -1;
}
return 0;
}

}

package com.gmail.maksa21049;

import java.io.File;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;



public class ArrayChar {
private List<ComperableChar> charList = new ArrayList<ComperableChar>();

public ArrayChar(List<ComperableChar> charList) {
super();
this.charList = charList;
}

public ArrayChar() {
super();
// TODO Auto-generated constructor stub
}

public List<ComperableChar> getCharList() {
return charList;
}

public void setCharList(List<ComperableChar> charList) {
this.charList = charList;
}
public void countChar(File file) {
ReadFile readText = new ReadFile();
String text = readText.getStringWithFile(file);
char[] arrayChar = text.toCharArray();
for(char i = 'a';i<='z';i++) {
charList.add(new ComperableChar(i,0));
for (int j = 0; j < charList.size(); j++) {
for (char symbol : arrayChar) {
if(symbol == charList.get(j).getSymbol()) {
charList.get(j).setAmount(1);
}
}
}

}
charList.sort(Comparator.comparing(ComperableChar::getAmount));




}



}
package com.gmail.maksa21049;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class ReadFile {

public ReadFile() {
super();
// TODO Auto-generated constructor stub
}
public String getStringWithFile(File file) {
StringBuilder sb = new StringBuilder();
String text ="";
try (BufferedReader br = new BufferedReader(new FileReader(file));){
for(;(text=br.readLine())!=null;) {
sb.append(text);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}


return sb.toString().toLowerCase();
}

}
package com.gmail.maksa21049;

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
File file = new File("C:\\Users\\Максим\\Desktop.1");
List<ComperableChar> charList = new ArrayList<ComperableChar>();
ArrayChar countChar = new ArrayChar(charList);
countChar.countChar(file);
System.out.println(file);
}

}

Alexander Ts

  • Преподаватели
  • Пользователи
  • *
  • Сообщений: 13766
    • Просмотр профиля
    • E-mail
Re: Java Start online Домашняя работа Pul Maksym
« Ответ #103 : Июня 04, 2020, 01:15:28 am »
Мaksym Rul
Задание 2.
Так вы только класс Человек и выложили. Класса Группа тут вообще нет.

Задание 3. Верно.

maksym Rul

  • Пользователи
  • *
  • Сообщений: 63
    • Просмотр профиля
    • E-mail
Re: Java Start online Домашняя работа Pul Maksym
« Ответ #104 : Июня 04, 2020, 12:22:41 pm »
Я что то ошибся.
Group
package com.gmail.maksa21049;

import java.util.ArrayList;
import java.util.List;

public class Gruop {
private List<Student> studentList = new ArrayList<Student>(10);
private int numberGruop;

public Gruop(List<Student> studentList, int numberGruop) {
super();
this.studentList = studentList;
this.numberGruop = numberGruop;
}

public int getNumberGruop() {
return numberGruop;
}

public Gruop() {
super();
// TODO Auto-generated constructor stub
}

public void addStudent(Student student) throws MyException {
for (int i = 0; i < 10; i++) {
if (studentList.get(i) == null) {
studentList.set(i, student);

}
}
throw new MyException();
}

public void deleteStudent(String firstname) {
for (int i = 0; i < studentList.size(); i++) {
if (studentList.get(i) != null && studentList.get(i).getFirstname().equals(firstname)) {
studentList.set(i, null);
}

}
}

public void sortByParameters(int number) {
if (number == 0) {
for (int i = 0; i < studentList.size() - 1; i++) {
for (int j = i + 1; j < studentList.size(); j++) {
if (studentList.get(i) == null || studentList.get(j) == null) {
continue;
}
if (studentList.get(i).getFirstname().compareTo(studentList.get(j).getFirstname()) > 0) {
Student temp = studentList.get(i);
studentList.set(i, studentList.get(j));
studentList.set(j, temp);

}
}
}
} else if (number == 1) {
for (int i = 0; i < studentList.size() - 1; i++) {
for (int j = i + 1; j < studentList.size(); j++) {
if (studentList.get(i) == null || studentList.get(j) == null) {
continue;
}
if (studentList.get(i).getName().compareTo(studentList.get(j).getName()) > 0) {
Student temp = studentList.get(i);
studentList.set(i, studentList.get(j));
studentList.set(j, temp);

}
}
}
} else if (number == 2) {
for (int i = 0; i < studentList.size() - 1; i++) {
for (int j = i + 1; j < studentList.size(); j++) {
if (studentList.get(i) == null || studentList.get(j) == null) {
continue;
}
if (studentList.get(i).getSurname().compareTo(studentList.get(j).getSurname()) > 0) {
Student temp = studentList.get(i);
studentList.set(i, studentList.get(j));
studentList.set(j, temp);

}
}
}
} else if (number == 3) {
for (int i = 0; i < studentList.size() - 1; i++) {
for (int j = i + 1; j < studentList.size(); j++) {
if (studentList.get(i) == null || studentList.get(j) == null) {
continue;
}
if ((studentList.get(i).getAge()) > (studentList.get(j).getAge())) {
Student temp = studentList.get(i);
studentList.set(i, studentList.get(j));
studentList.set(j, temp);

}
}
}
}

}

@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("Gruop [studentList=");
builder.append(studentList);
builder.append(", numberGruop=");
builder.append(numberGruop);
builder.append("]");
return builder.toString();
}

}