Лектор несколькими простыми и доступными для понимания фразами сумел объяснить то, что многие преподаватели ВУЗов, прибегая к гигантскому количеству "умных слов", безуспешно пытаются промямлить в течении целой лекции. Очередной раз Респект!
Вы мне сказали что если у нас на канале будет 20к подписчиков то я начну курс Django.Я рекламирую ваш канал чтобы быстрее достичь 20к и скорее бы началось курс Django. Удачи вам!
не судите строго. Первую задачу решил так: правда проверка идет что в имени совсем нет цифр + что там точно какие то буквы + что имя не пустое... майн: Person one = new Person("Boris", 45,60,4); one.show(); Что делает: если все ок, то функция "show" покажет все в столбик, если айди, вес, возраст не корректен, пишет красным, не могу создать человека (по факту создан с нулевым). С именем возился дольше.... итак персон: public class Person { private String name; //only letters - space private int age; //30-200 private int weigh; //30-200 private int ID; //1-5 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getWeigh() { return weigh; } public void setWeigh(int weigh) { this.weigh = weigh; } public int getID() { return ID; } public void setID(int ID) { this.ID = ID; } private boolean isCorrectID(int arg){ if(arg5) System.err.println("IncorrectID"); return (1
Не стал ничего выдумывать. Сделал класс Vec2 с простыми целочисленными полями. Надеюсь, правильно. public class Vec2 { private int a,b; private static final int MAX_VAL = 100; Vec2(){} private boolean isValCorrect(int a, int b){ return (-MAX_VAL
class Book { private String title; private String author; private int yearPublished; private int pageCount; // Конструктор класса Book public Book(String title, String author, int yearPublished, int pageCount) { this.title = title; this.author = author; this.yearPublished = yearPublished; this.pageCount = pageCount; } // Геттеры и сеттеры для доступа к полям класса Book public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public int getYearPublished() { return yearPublished; } public void setYearPublished(int yearPublished) { this.yearPublished = yearPublished; } public int getPageCount() { return pageCount; } public void setPageCount(int pageCount) { this.pageCount = pageCount; } } class Lib { private static final int MAX_BOOKS = 5; // Максимальное число книг private Book[] books; // Массив для хранения книг private int count; // Текущее количество книг в библиотеке public Lib() { books = new Book[MAX_BOOKS]; count = 0; } // Метод для добавления книги в библиотеку public void addBook(Book book) { if (count < MAX_BOOKS) { books[count] = book; count++; System.out.println("Книга добавлена в библиотеку."); } else { System.out.println("Библиотека полна, невозможно добавить книгу."); } } // Метод для удаления книги из библиотеки по названию public void removeBookByTitle(String title) { for (int i = 0; i < count; i++) { if (books[i].getTitle().equals(title)) { for (int j = i; j < count - 1; j++) { books[j] = books[j + 1]; } count--; System.out.println("Книга удалена из библиотеки."); return; } } System.out.println("Книга с указанным названием не найдена."); } // Метод для вывода списка книг в библиотеке public void displayBooks() { if (count == 0) { System.out.println("Библиотека пуста."); return; } System.out.println("Список книг в библиотеке:"); for (int i = 0; i < count; i++) { System.out.println((i + 1) + ". " + books[i].getTitle() + " - " + books[i].getAuthor()); } } } public class Main { public static void main(String[] args) { Lib library = new Lib(); // Создание объектов Book Book book1 = new Book("Название книги 1", "Автор 1", 2000, 300); Book book2 = new Book("Название книги 2", "Автор 2", 1995, 250); Book book3 = new Book("Название книги 3", "Автор 3", 2010, 400); // Добавление книг в библиотеку library.addBook(book1); library.addBook(book2); library.addBook(book3); // Вывод списка книг в библиотеке library.displayBooks(); // Удаление книги по названию library.removeBookByTitle("Название книги 2"); // Вывод списка книг после удаления library.displayBooks(); } }
Привет всем. Я бы предложил создать группу в телеге чтоб делится там своими решениями, ато я типо решил, а вот правильно или нет, это уже не понятно. Тем более 1 голова хорошо, а 2 лучше.:)
class Person { private String lastName; Person(String lastName) { if (regxString(lastName)) setLastName(lastName); } boolean regxString(String lastName) { Pattern p = Pattern.compile("([A-Za -]*\\)*\\(*\\s*)+"); Matcher m = p.matcher(lastName); Boolean b = m.matches(); return b; } public void setLastName(String lastName) { this.lastName = lastName; } public String getLastName() { return lastName; } } такое имеет право на жизнь в контексте данного урока?
ну для новичков такой блок конечно не реально)) boolean regxString(String lastName) { Pattern p = Pattern.compile("([A-Za -]*\\)*\\(*\\s*)+"); Matcher m = p.matcher(lastName); Boolean b = m.matches(); return b; }
А как задать ограничение на ввод только буквенных символов? Я лично переводил строку в чар-массив, который проверял через цикл на соответствие буквенному чар диапазону. Но возможно есть путь попроще?
@@selfedu_rus спасибо большое за ответ и урок ) почитаю про этот метод. Подскажите пожалуйста ещё, а есть ли какие то общие правила по оформлению кода? Заметил, что у вас хорошо скомпонованы строки кода и достаточно легко читаются. Или требования к оформлению различаются от места к месту?
Лектор несколькими простыми и доступными для понимания фразами сумел объяснить то, что многие преподаватели ВУЗов, прибегая к гигантскому количеству "умных слов", безуспешно пытаются промямлить в течении целой лекции. Очередной раз Респект!
Отличные уроки! Продолжай
Вы мне сказали что если у нас на канале будет 20к подписчиков то я начну курс Django.Я рекламирую ваш канал чтобы быстрее достичь 20к и скорее бы началось курс Django. Удачи вам!
Спасибо! Редкая поддержка! Хорошо, попробуем курс по Django. Если будут смотреть то буду делать.
Лучший канал
про 2 задачу: что нужно написать при объявлении метода чтобы он возвращал объекст Vec2 ?
Здравствуйте. Скажите, а почему нельзя ту же проверку ,которую вы прописали в методе, написать в конструкторе класса?
не судите строго. Первую задачу решил так:
правда проверка идет что в имени совсем нет цифр + что там точно какие то буквы + что имя не пустое...
майн:
Person one = new Person("Boris", 45,60,4);
one.show();
Что делает: если все ок, то функция "show" покажет все в столбик, если айди, вес, возраст не корректен, пишет красным, не могу создать человека (по факту создан с нулевым). С именем возился дольше....
итак персон:
public class Person {
private String name; //only letters - space
private int age; //30-200
private int weigh; //30-200
private int ID; //1-5
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getWeigh() {
return weigh;
}
public void setWeigh(int weigh) {
this.weigh = weigh;
}
public int getID() {
return ID;
}
public void setID(int ID) {
this.ID = ID;
}
private boolean isCorrectID(int arg){
if(arg5) System.err.println("IncorrectID");
return (1
Спасибо за отличный курс лекций. Вопрос по 2-му подвигу. Правильно ли я понял, что нужно использовать класс Vector в описании класса Vec2 ?
Не стал ничего выдумывать. Сделал класс Vec2 с простыми целочисленными полями. Надеюсь, правильно.
public class Vec2 {
private int a,b;
private static final int MAX_VAL = 100;
Vec2(){}
private boolean isValCorrect(int a, int b){
return (-MAX_VAL
Спасибо за урок!!! Как всегда очень полезно.
Первую задачу выкладываю:
public class app {
public static void main(String[] args){
Person A1 = new Person();
A1.SetInfo("Иванов Иван Иванович", 30,200,1);
System.out.println(A1.GetFIO()+ " " + A1.GetAge() + " " + A1.GetWeight() + " " + A1.GetRank_number());
A1.SetInfo("Петров Иван Иванович", 29,80,5);
System.out.println(A1.GetFIO()+ " " + A1.GetAge() + " " + A1.GetWeight() + " " + A1.GetRank_number());
Person A2 = new Person();
A2.SetInfo("Александров Иван Иванович", 26,85,2);
System.out.println(A2.GetFIO()+ " " + A2.GetAge() + " " + A2.GetWeight() + " " + A2.GetRank_number());
}
}
class Person{
private String FIO;
private int age, weight, rank_number;
Person(){
}
private boolean CorrectSring (String FIO){
for (int i=0; i
class Book {
private String title;
private String author;
private int yearPublished;
private int pageCount;
// Конструктор класса Book
public Book(String title, String author, int yearPublished, int pageCount) {
this.title = title;
this.author = author;
this.yearPublished = yearPublished;
this.pageCount = pageCount;
}
// Геттеры и сеттеры для доступа к полям класса Book
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public int getYearPublished() {
return yearPublished;
}
public void setYearPublished(int yearPublished) {
this.yearPublished = yearPublished;
}
public int getPageCount() {
return pageCount;
}
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
}
class Lib {
private static final int MAX_BOOKS = 5; // Максимальное число книг
private Book[] books; // Массив для хранения книг
private int count; // Текущее количество книг в библиотеке
public Lib() {
books = new Book[MAX_BOOKS];
count = 0;
}
// Метод для добавления книги в библиотеку
public void addBook(Book book) {
if (count < MAX_BOOKS) {
books[count] = book;
count++;
System.out.println("Книга добавлена в библиотеку.");
} else {
System.out.println("Библиотека полна, невозможно добавить книгу.");
}
}
// Метод для удаления книги из библиотеки по названию
public void removeBookByTitle(String title) {
for (int i = 0; i < count; i++) {
if (books[i].getTitle().equals(title)) {
for (int j = i; j < count - 1; j++) {
books[j] = books[j + 1];
}
count--;
System.out.println("Книга удалена из библиотеки.");
return;
}
}
System.out.println("Книга с указанным названием не найдена.");
}
// Метод для вывода списка книг в библиотеке
public void displayBooks() {
if (count == 0) {
System.out.println("Библиотека пуста.");
return;
}
System.out.println("Список книг в библиотеке:");
for (int i = 0; i < count; i++) {
System.out.println((i + 1) + ". " + books[i].getTitle() + " - " + books[i].getAuthor());
}
}
}
public class Main {
public static void main(String[] args) {
Lib library = new Lib();
// Создание объектов Book
Book book1 = new Book("Название книги 1", "Автор 1", 2000, 300);
Book book2 = new Book("Название книги 2", "Автор 2", 1995, 250);
Book book3 = new Book("Название книги 3", "Автор 3", 2010, 400);
// Добавление книг в библиотеку
library.addBook(book1);
library.addBook(book2);
library.addBook(book3);
// Вывод списка книг в библиотеке
library.displayBooks();
// Удаление книги по названию
library.removeBookByTitle("Название книги 2");
// Вывод списка книг после удаления
library.displayBooks();
}
}
Но автору все равно + 😁
Подскажите, пожалуйста, как использовать методы Vec2 sum(Vec2 v) и Vec2 sub(Vec2 v) в 2 задании?
4:00 разве х1 и y1 это не нижний левый угол?
верхний левый, на экранах устройств ось Oy по умолчанию идет вниз, а не вверх (как по математике в школе)
Привет всем. Я бы предложил создать группу в телеге чтоб делится там своими решениями, ато я типо решил, а вот правильно или нет, это уже не понятно. Тем более 1 голова хорошо, а 2 лучше.:)
Создал, добавляйтесь: t.me/java_and_c
как-то ооп на java проще чем на питоне, по крайней мере мне оно далось проще, жаль что я учил ооп до всех этих уроков
class Person {
private String lastName;
Person(String lastName) {
if (regxString(lastName)) setLastName(lastName);
}
boolean regxString(String lastName) {
Pattern p = Pattern.compile("([A-Za
-]*\\)*\\(*\\s*)+");
Matcher m = p.matcher(lastName);
Boolean b = m.matches();
return b;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getLastName() {
return lastName;
}
}
такое имеет право на жизнь в контексте данного урока?
ну для новичков такой блок конечно не реально))
boolean regxString(String lastName) {
Pattern p = Pattern.compile("([A-Za
-]*\\)*\\(*\\s*)+");
Matcher m = p.matcher(lastName);
Boolean b = m.matches();
return b;
}
А как задать ограничение на ввод только буквенных символов? Я лично переводил строку в чар-массив, который проверял через цикл на соответствие буквенному чар диапазону. Но возможно есть путь попроще?
В целом да, только можно воспользоваться методом isLetter() для проверки буквенного символа.
@@selfedu_rus спасибо большое за ответ и урок ) почитаю про этот метод. Подскажите пожалуйста ещё, а есть ли какие то общие правила по оформлению кода? Заметил, что у вас хорошо скомпонованы строки кода и достаточно легко читаются. Или требования к оформлению различаются от места к месту?
@@Yornero Спасибо. Да, есть стандарт оформления. Нужно просто погуглить, так наизусть не помню. Я уже по наитию это делаю )
@@selfedu_rus благодарю, думаю лучше сходу приучаться писать удобно читаемый код)
@@programer8 через метод isLetter тоже уже попробовал
всегда считал, что гетеры -это особенные женщины.
Вот мой вариант решения второй задачи:
public class app {
public static void main(String[] args) {
Vec2 V1 = new Vec2();
V1.SetV(10,300);
Vec2 V2 = new Vec2();
V2.SetV(5,30);
Vec2 REZ = Vec2.sum(V1,V2);
System.out.printf("Sum of vectors with values (%.2f; %.2f) + (%.2f; %.2f) = (%.2f; %.2f)
",
V1.GetA(),V1.GetB(), V2.GetA(),V2.GetB(),REZ.GetA(),REZ.GetB());
REZ = Vec2.sub(V1,V2);
System.out.printf("Subtraction of vectors with values (%.2f; %.2f) - (%.2f; %.2f) = (%.2f; %.2f)
",
V1.GetA(),V1.GetB(), V2.GetA(),V2.GetB(),REZ.GetA(),REZ.GetB());
}
}
class Vec2 {
private double a,b;
final double MAX_VAL = 100;
Vec2 (){
}
void SetV (double a, double b){
if ((-MAX_VAL
КатАлог. )) Рукалицо.
учителя грамматики, ваши видео-уроки по другим запросам 😁