I'm a newbie in java. I'm writing a class where the constructor must check the price parameter and ensure it is not a negative number. And if it is negative, it must set the price to zero. I get a stackoverflow error when I check price. Can i get help with what I did wrong?
public class Book
{
private String title;
private String author;
private String isbn;
private int pages;
private boolean pback;
private double price;
/**
* Constructor for objects of class Book
*/
public Book(String bookTitle, String bookAuthor, String bookCode, int bookPages, boolean paperback, double bookRetail)
{
title = bookTitle;
author = bookAuthor;
isbn = bookCode;
pages = bookPages;
pback = paperback;
price = bookRetail;
}
/**
* @returns title
*/
public String gettitle()
{
return title;
}
/**
* @returns author
*/
public String getauthor()
{
return author;
}
/**
* @returns ISBN#
*/
public String getisbn()
{
return isbn;
}
/**
* @return number of pages
*/
public int getpages()
{
return pages;
}
/**
* @return is book paperback
*/
public boolean getpback()
{
return pback;
}
/**
* @return retail price
*/
public double getprice()
{
if(getprice() < 0)
{
return 0;
}
else
{
return price;
}
}
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…