📄 sales.java
字号:
/*
* Sales.java E.L. 2001-08-14
*
*/
class Sales {
private String department;
private int[][] theSales;
public Sales(String initDepartment, int noOfWeeks, int noOfDays) {
department = initDepartment;
theSales = new int[noOfWeeks][noOfDays];
}
public String getDepartment() {
return department;
}
public int getNoOfWeeks() {
return theSales.length;
}
public int getNoOfDaysPerWeek() {
if (theSales.length > 0) { // no of weeks
return theSales[0].length;
}
return -1; // no data
}
/*
* Three utility methods to control the index validity.
* These methods are of no interest for the clients,
* therefore they are made private.
*/
private boolean validWeekNo(int weekNo) {
if (weekNo >= 0 && weekNo < theSales.length) return true;
else return false;
}
private boolean validDayNo(int weekNo, int dayNo) {
if (theSales.length > 0 // at least one week has to be registered
&& dayNo >= 0 && dayNo < theSales[weekNo].length) return true;
else return false;
}
private boolean validIndices(int weekNo, int dayNo) {
if (validWeekNo(weekNo) && validDayNo(weekNo, dayNo)) return true;
else return false;
}
/*
* The method registers the sales for a given day.
*/
public boolean setSales(int weekNo, int dayNo, int newSales) {
if (validIndices(weekNo, dayNo)) {
theSales[weekNo][dayNo] = newSales;
return true;
} else return false; // return false if invalid day or week
}
/*
* The method gets the sales for a given day.
*/
public int getSales(int weekNo, int dayNo) {
if (validIndices(weekNo, dayNo)) {
return theSales[weekNo][dayNo];
} else return -1; // return -1 if invalid day or week
}
public int getSalesForAWeek(int weekNo) {
if (validWeekNo(weekNo)) {
int sum = 0;
for (int i = 0; i < theSales[weekNo].length; i++) {
sum += theSales[weekNo][i];
}
return sum;
} else return -1; // return -1 if invalid weekNo
}
public int getSalesForAWeekDay(int dayNo) {
if (validDayNo(0, dayNo)) {
int sum = 0;
for (int i = 0; i < theSales.length; i++) {
sum += theSales[i][dayNo];
}
return sum;
}
return -1; // either no data, or invalid day
}
public int getTotalSales() {
int sum = 0;
for (int i = 0; i < theSales.length; i++) {
for (int j = 0; j < theSales[i].length; j++) {
sum += theSales[i][j];
}
}
return sum;
}
public int getMostProfitDay() {
if (theSales.length > 0) {
int mostProfitToDay = 0;
int sumMaxSales = getSalesForAWeekDay(0);
for (int i = 1; i < theSales[i].length; i++) {
int theSales = getSalesForAWeekDay(i);
if (theSales > sumMaxSales) {
mostProfitToDay = i;
sumMaxSales = theSales;
}
}
return mostProfitToDay;
}
return -1; // no data
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -