Skip to content
Binary file not shown.
Binary file not shown.
Binary file added out/production/JavaCore/ru/App/java/App.class
Binary file not shown.
Binary file added out/production/JavaCore/ru/App/java/Person.class
Binary file not shown.
Binary file added out/production/JavaCore/ru/App/java/Product.class
Binary file not shown.
12 changes: 12 additions & 0 deletions src/main/java/homeworks/homework01/Fahrenheit.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package homeworks.homework01;

public class Fahrenheit {
public static void main(String[] args) {
double fahrenheit = 212.0;
double celsius = (fahrenheit - 32) * 5/9; {

System.out.println(fahrenheit + " "+"градусов" + " " +"по Фаренгейту"+" равна"+ " "+ celsius + " по Цельсию");
}
}
}

47 changes: 47 additions & 0 deletions src/main/java/homeworks/homework03/App.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package homeworks.homework03;

import java.util.Random;
import java.util.Scanner;

public class App {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Random random = new Random();

// объект Television с случайными параметрами
Television tv = createTelevision(scanner, random);

System.out.println("Созданный телевизор: " + tv);

// Изменение параметров телевизора
tv.setColor("Silver");
tv.setMark("LG");
tv.setVolt(110);

System.out.println("Обновленный телевизор: " + tv);

Television tv1 = createTelevision(scanner, random);
Television tv2 = createTelevision(scanner, random);
Television tv3 = createTelevision(scanner, random);

System.out.println("Созданный телевизор 1: " + tv1);
System.out.println("Созданный телевизор 2: " + tv2);
System.out.println("Созданный телевизор 3: " + tv3);

}

public static Television createTelevision(Scanner scanner, Random random) {

System.out.print("Введите цвет телевизора: ");
String color = scanner.nextLine();

System.out.print("Введите марку телевизора: ");
String mark = scanner.nextLine();

// Генерация случайного напряжения от 100 до 240
Integer volt = random.nextInt(141) + 100;

// экземпляр телевизора
return new Television (color, mark, volt);
}
}
47 changes: 47 additions & 0 deletions src/main/java/homeworks/homework03/Television.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package homeworks.homework03;

public class Television {
public static void main(String[] args) {
}

private Integer volt; // Напряжение
private String color; // Цвет
private String mark; // Марка

// Конструктор по умолчанию
public Television () {
this.color = "Black";
this.mark = "LG";
this.volt = 240;
}

// Конструктор с параметрами
public Television(String color, String mark, Integer volt ) {
this.color = color;
this.mark = mark;
this.volt = volt;

}

// Методы-сеттеры
public void setColor(String color) {
this.color = color;
}

public void setMark(String mark) {
this.mark = mark;
}

public void setVolt(Integer volt) {
this.volt = volt;
}

@Override
public String toString() {
return "Television{" +
"volt=" + volt +
", color='" + color + '\'' +
", mark='" + mark + '\'' +
'}';
}
}
25 changes: 25 additions & 0 deletions src/main/java/homeworks/homework04/Alfavit.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package homeworks.homework04;

import java.util.Scanner;

public class Alfavit {
public static void main(String[] args) {
String alphabet = "qwertyuiopasdfghjklzxcvbnm";
Scanner scanner = new Scanner(System.in);
System.out.print("Введите маленькую букву английского алфавита: ");
char inputChar = scanner.next().charAt(0);

// маленькая буква
if (alphabet.indexOf(inputChar) == -1) {
System.out.println("введите маленькую букву английского алфавита.");
} else {
int index = alphabet.indexOf(inputChar);
// замкнутость
int leftIndex = (index - 1 + alphabet.length()) % alphabet.length();
// Получаем букву слева
char leftChar = alphabet.charAt(leftIndex);
System.out.println("Буква слева: " + leftChar);
}
}
}

26 changes: 26 additions & 0 deletions src/main/java/homeworks/homework04/Arrows.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package homeworks.homework04;

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Arrows {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Введите строку со стрелами: ");
String input = scanner.nextLine();

Pattern pattern = Pattern.compile(">>-->|<--<<");


Matcher matcher = pattern.matcher(input);

int counter = 0;

while (matcher.find()) {
counter++;
}
System.out.println("Количество найденных стрел: " + counter);
}
}

170 changes: 170 additions & 0 deletions src/main/java/homeworks/homework06/java/App.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
package homeworks.homework06.java;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

class Product {
private String name;
private double price;

public Product(String name, double price) {
if (name == null || name.trim().isEmpty()) {
throw new IllegalArgumentException("Название продукта не может быть пустым");
}
if (price < 0) {
throw new IllegalArgumentException("Стоимость продукта не может быть отрицательной");
}
this.name = name;
this.price = price;
}

public String getName() {
return name;
}

public double getPrice() {
return price;
}

@Override
public String toString() {
return name + " (Цена: " + price + " рублей)";
}

@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
Product product = (Product) obj;
return Double.compare(product.price, price) == 0 && name.equals(product.name);
}

@Override
public int hashCode() {
return 31 * name.hashCode() + Double.hashCode(price);
}
}

class Person {
private String name;
private double money;
private List<Product> basket;

public Person(String name, double money) {
if (name == null || name.trim().isEmpty()) {
throw new IllegalArgumentException("Имя не может быть пустым");
}
if (money < 0) {
throw new IllegalArgumentException("Деньги не могут быть отрицательными");
}
this.name = name;
this.money = money;
this.basket = new ArrayList<>();
}

public String getName() {
return name;
}

public double getMoney() {
return money;
}

public List<Product> getBasket() {
return basket;
}

public boolean buyProduct(Product product) {
if (product.getPrice() <= money) {
basket.add(product);
money -= product.getPrice();
System.out.println(name + " купил " + product.getName());
return true;
} else {
System.out.println(name + " не может позволить себе " + product.getName());
return false;
}
}

@Override
public String toString() {
return name + (basket.isEmpty() ? " - Ничего не куплено" : " - " + basket);
}
}

public class App {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<Person> customers = new ArrayList<>();
List<Product> products = new ArrayList<>();

customers.add(new Person("Павел Андреевич", 10000));
customers.add(new Person("Анна Петровна", 2000));
customers.add(new Person("Борис", 10));

products.add(new Product("Хлеб", 40));
products.add(new Product("Молоко", 60));
products.add(new Product("Торт", 1000));
products.add(new Product("Кофе растворимый", 879));
products.add(new Product("Масло", 150));

// Процесс выбора продуктов
int currentCustomerIndex = 0;

while (true) {
Person currentCustomer = customers.get(currentCustomerIndex);
System.out.println(currentCustomer.getName() + ", выберите продукт (или введите 'END' для завершения):");
for (Product product : products) {
System.out.println(product);
}

String input = scanner.nextLine();
if (input.equalsIgnoreCase("END")) {
break;
}

// Найти выбранный продукт
boolean productFound = false;
for (Product product : products) {
if (product.getName().equalsIgnoreCase(input)) {
currentCustomer.buyProduct(product);
productFound = true;
break;
}
}

if (!productFound) {
System.out.println("Продукт не найден. Попробуйте снова.");
}
// Переход к следующему покупателю
currentCustomerIndex = (currentCustomerIndex + 1) % customers.size();
}

// Вывод содержимого пакета для каждого покупателя
for (Person customer : customers) {
System.out.println(customer);
}

// Обработка случаев
testAdditionalCases(scanner);
}

private static void testAdditionalCases(Scanner scanner) {
// Тестовые случаи
try {
Person zhenya = new Person("Женя", 0);
Product iceCream = new Product("Мороженое", 200);
zhenya.buyProduct(iceCream);
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}

try {
Person sveta = new Person("Света", -3);
Product pasta = new Product("Макароны", 800);
sveta.buyProduct(pasta);
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
}