if(getAuthors()==null)thrownewNullPointerException("Перечень авторов пока пуст ...");
thrownewNullPointerException("в случае, если массив authors еще не создан и писать нового автора некуда, создаем пустой массив, пишем в него данные нового автора ...");
//при получении отрицательного индекса, меняем его значение на ноль, сообщаем пользователю о проведеных изменениях
if(index<0){
try{
thrownewIllegalArgumentException("В метод public String getAuthorByIndex(int index) передано значение меньше нуля, массив не может содержать отрицательное количество полей. Значение индекса исправлено на значение по умолчанию: 0 ...");
}catch(Exceptione){
e.printStackTrace();
index=0;
}
}
Stringauthor=getAuthors()[index];
returnauthor;
}
//количество авторов книги
publicintgetAuthorsCount(){
/**
*возвращаетколичествоавторовкниги
*@paramauthors
*@return
*/
publicstaticintgetAuthorsCount(String[]authors){
//проверяем, имеется ли записи в перечне авторов
intcount=0;
try{
if(getAuthors()==null)thrownewNullPointerException("авторы еще не добавлены в список ...");
}catch(NullPointerExceptione){
if(authors==null)thrownewNullPointerException("Авторы книги не установлены ...");
}catch(Exceptione){
//e.printStackTrace();
count=0;
}finally{
count=getAuthors().length;
}
if(authors!=null)count=authors.length;
returncount;
}
/**
*Устанавливаемназваниекниги
*@paramnamethenametoset
*/
publicvoidsetName(Stringname){
//TODO название книги не должно быть пустой ссылкой;
// название книги не должно быть пустой ссылкой
if(name==null){
try{
thrownewNullPointerException("В качестве названия книги передана пустая ссылка, полю установлено значение по умолчанию {noname book}");
}catch(NullPointerExceptione){
System.out.println("Ошибка: "+e);
e.printStackTrace();
this.name="noname book";
}
}else{
this.name=name;
}
}
/**
*Устанавливаемданныеобиздательстве.
*издательствонедолжнобытьпустойссылкой
*@parampublisherthepublishertoset
*/
publicvoidsetPublisher(Publisherpublisher){
//TODO издательство не должно быть пустой ссылкой;
if(publisher==null){
try{
thrownewNullPointerException("Передана пустая ссылка, при внесении данных об издательстве, что недопустимо. Установлено знаение издательства по умолчанию.");
}catch(NullPointerExceptione){
e.printStackTrace();
System.out.println("Ошибка: "+e);
this.publisher=newPublisher();
}
}else{
this.publisher=publisher;
}
}
/**
*устанавливаемгодизданиякниги
*-годизданиядолженбытьстрогобольшенуля
*@paramyeartheyeartoset
*/
publicvoidsetYear(intyear){
//TODO год издания должен быть строго больше нуля
if(year<0){
try{
thrownewIllegalArgumentException("В качестве года издания книги указан значение еньше нуля. Значение заменен на значение по умолчанию {1800}");
}catch(IllegalArgumentExceptione){
e.printStackTrace();
System.out.println("Ошибка: "+e);
year=1800;
}
}else{
this.year=year;
}
}
/**
*Устанавливаемпереченьавторовкниги
*@paramauthortheauthortoset
*/
publicvoidsetAuthors(String[]authors){
//TODO массив не должен содержать пустых ссылок
try{
if(authors==null)thrownewNullPointerException("setAuthors() ... передан пустой список авторов");
}catch(NullPointerExceptione){
e.printStackTrace();
this.authors=newString[0];
}finally{
this.authors=authors;
}
}
/**
*@returnthename
*/
@ -139,25 +250,39 @@ public class Book {
@@ -139,25 +250,39 @@ public class Book {
*@returntheauthor
*/
publicString[]getAuthors(){
String[]result=newString[0];
try{
if(authors==null)thrownewNullPointerException("Авторы еще не заносились в список ...");