У меня проблемы с заданием для класса.Мне нужно иметь возможность распечатать отчет о продажах после ввода определенных данных и подумать, что лучший способ отслеживать все, что нужно было использовать массивы .
Я пытался понять это часами, и я в замешательстве.Любая помощь будет принята.
Для справки пользователю необходимо ввести:
- имя сотрудника
- год от даты продажи
- aномер транзакции
- тип транзакции
- сумма транзакции
Затем он должен вернуться к номеру транзакции и продолжать этот цикл, пока значение 0 не будет введено в качестве ввода для номера транзакции..
Затем он должен вернуться к имени сотрудника и продолжить этот цикл до тех пор, пока в качестве ввода имени сотрудника не будет введено Done
.
Вот код (я думаю, что это единственныйсоответствующая часть, но если вы хотите увидеть весь фрагмент кода, я могу опубликовать его.)
Еще раз спасибо за вашу помощь или предложения!
void salesData() throws IOException {
for (int i = 0; i < 100; i++) {
System.out.print("Enter Name: ");
n = stdin.readLine();
if (n.equalsIgnoreCase("done")) {
break;
}
else {
System.out.print("Enter Transaction Number: ");
t = Integer.parseInt(stdin.readLine());
if (t == 0) {
break;
}
else {
System.out.print("Enter Transaction Type: ");
tp = stdin.readLine();
System.out.print("Enter Transaction Amount: ");
a = Double.parseDouble(stdin.readLine());
totSales = totSales + a;
totYtd = totYtd + a;
empTotal = empTotal + a;
empBonus = empBonus + (a * 0.05);
name[i] = n;
ytd[i] = y;
tNum[i] = t;
type[i] = tp;
amount[i] = a;
outputUpdate();
calcSalesData();
}
}
}
outputSalesData();
}
Хорошо, так что яЯ работал над этим благодаря помощи ваших парней, и я добился большого прогресса.Все еще есть одна проблема, хотя.Массив сохраняет только номер транзакции, тип и сумму для LAST-транзакции, введенной для каждого сотрудника, а не КАЖДОЙ транзакции.
Я считаю, что ошибка заключается в том, что мне нужно перебрать массивы для tNum, type исумма с другой скоростью, чем у массива name и ytd?
Есть небольшие проблемы, поэтому любая помощь приветствуется ... вот мой обновленный код, а также оператор print в конце.
void salesData() throws IOException {
for (int i = 0; i < 100; i++) {
System.out.print("Enter Name: ");
n = stdin.readLine();
if (n.equalsIgnoreCase("done")) {
outputSalesData();
}
System.out.print("Enter Year to Date Sales: ");
y = Double.parseDouble(stdin.readLine());
ytdSales = ytdSales + y;
totYtd = totYtd + ytdSales;
while (t != 0) {
System.out.print("Enter Transaction Number: ");
t = Integer.parseInt(stdin.readLine());
if (t == 0) {
t = 1;
empBonus = 0;
ytdSales = 0;
break;
}
else {
System.out.print("Enter Transaction Type: ");
tp = stdin.readLine();
System.out.print("Enter Transaction Amount: ");
a = Double.parseDouble(stdin.readLine());
totSales = totSales + a;
totYtd = totYtd + a;
ytdSales = ytdSales + a;
empTotal = empTotal + a;
empBonus = empBonus + (a * 0.05);
name[i] = n;
ytd[i] = y;
tNum[i] = t;
type[i] = tp;
amount[i] = a;
outputUpdate();
calcSalesData();
tCount++;
}
}
}
}
и вот печать:
void rptOut() {
System.out.println("");
System.out.println("--------------------------------------------");
System.out.println("Employee:\tYTD:\t\tT #:\tType:\tAmount:");
while (index < tCount)
{
System.out.println(name[index] + "\t\t$" + df2.format(ytd[index]) + "\t" + tNum[index] + "\t" + type[index] + "\t$" + amount[index]);
index++;
}
System.out.println("--------------------------------------------");
System.out.println("Total Food & Soft Drink Sales: \t$" + df2.format(totF));
System.out.println("Total Alcohol Sales: \t\t$" + df2.format(totA));
System.out.println("Total Sundries Sales: \t$" + df2.format(totS));
System.out.println("--------------------------------------------");
System.out.println("Total Sales for Day: \t$" + df2.format(totSales));
System.out.println("Total YTD: \t\t$" + df2.format(totYtd));
System.out.println("--------------------------------------------");
System.out.println("Highest Trans Amount: \t$" + df2.format(hiTrans));
System.out.println("Employee w/ Highest Trans: \t" + hiEmp);
System.out.println("--------------------------------------------");
//System.exit(0);
}