我想创建一个返回布尔值的方法。如果销售超过5年或以上,则应返回true;如果销售不到5年,则应返回false。
我已经尝试过,但是似乎无法使它正常工作。如果有人可以考虑一种更有效的方法来完成此任务,那么我会朝着不同的方向发展。
我已经尝试了以下方法,但是无论我进行了什么更改,该方法都会继续出错。 Google对此方法也没有帮助,也没有帮助。
该方法称为isSaleOld()(转到代码底部)
谢谢您的任何帮助。下面是整个项目的代码。
public class Sale
{
// instance variables
private String company;
private String yearBought;
private int saleValue;
private Seller seller;
public Sale(String aCompany, String aYear, int aValue,
Seller theSeller)
{
this.company = aCompany;
this.yearBought = aYear;
this.saleValue = aValue;
this.seller = theSeller;
}
public void setSellersName(String aName)
{
this.seller.setName(aName);
}
public void setSaleValue(int aValue)
{
this.saleValue = aValue;
}
public void setyearBought(String aYear)
{
this.yearBought = aYear;
}
public void setCompany(String aCompany)
{
this.company = aCompany;
}
public int getSaleValue()
{
return this.saleValue;
}
public boolean isApprovalRequired()
{
return this.getSaleValue() >=10000;
}
public String getYearBought()
{
return this.yearBought;
}
public void isSaleOld(String[] args)
{
yearBought = getYearBought("2020");
boolean after = yearBought.after(yearBought);
}
}
import java.time.LocalDateTime;
public class Sale {
private int yearBought;
public void sale(int year) {
setYearBought(year);
}
private int getYearBought() {
return this.yearBought;
}
private void setYearBought(int year) {
this.yearBought = year;
}
public boolean isSaleOld() {
int now = LocalDateTime.now().getYear();
int yearBought = getYearBought();
if (now - yearBought > 5) {
System.out.println("Yes, older than 5 years");
return true;
}
System.out.println("No, less than 5 years old");
return false;
}
public static void main(String[] args) {
Sale sale = new Sale();
Sale sale2 = new Sale();
sale.sale(2010);
sale2.sale(2020);
sale.isSaleOld();
sale2.isSaleOld();
}