Так что я пытаюсь создать меню продуктов с ArrayLists. Моя задача состоит в том, чтобы выполнить следующее определение прибыли статического метода, которая вводит элементы ArrayList в MenuItems и возвращает массив удвоений. Каждая запись на выходе представляет собой разницу между ценой и стоимостью соответствующего элемента элементов. Я должен обработать результат каждого расчета, используя деньги, используя статический метод roundMoney.Создание меню элементов через ArrayLists
public class MenuItem
{
private String myName;
private double myPrice,
myCost;
private int myCode;
private boolean myAvailability;
public MenuItem(String name, double price, double cost, int code, boolean available)
{
myName = name;
myPrice = price;
myCost = cost;
myCode = code;
myAvailability = available;
}
public String getName() { return myName; }
public double getPrice() { return myPrice; }
public double getCost() { return myCost; }
public int getCode() { return myCode; }
public boolean available() { return myAvailability; }
public String menuString()
{
return getName() + " ($" + getPrice() + ")";
}
public static double roundMoney(double amount)
{
return (int)(100 * amount + 0.5)/100.0;
}
public static String printAmount(double d)
{
String s = "" + d;
int k = s.indexOf(".");
if (k < 0)
return s + ".00";
if (k + 1 == s.length())
return s + "00";
if (k + 2 == s.length())
return s + "0";
else
return s;
}
}
//***********************************************************************
public static double[] Profits(ArrayList<MenuItem> items)
{
double[] profits = new double[items.size()];
for (int i = 0; i < profits.length; i++)
{
profits[i] = roundMoney (items.get(i).getPrice() - items.get(i).getCost());
}
return profits;
}
//***********************************************************************
public static void main(String[] args)
{
ArrayList<MenuItem> items1 = new ArrayList<MenuItem>();
items1.add(new MenuItem("Stir Fry",5.43,0.45,1,true));
items1.add(new MenuItem("Nachos",3.49,0.15,0,false));
items1.add(new MenuItem("Mud Pie",6.50,1.25,2,true));
items1.add(new MenuItem("Jerk Chicken",8.99,3.20,1,false));
double[] t = profits(items1);
for (double d : t)
System.out.print(printAmount(d) + " ");
}
Мой ожидаемый результат: 4,98 3,34 5,25 5,79, но я продолжаю получать сообщение об ошибке: TC1.java:30: Ошибка: не удается найти символу
двойной [] T = прибыль (статей1); Может кто-нибудь, пожалуйста, помогите мне выяснить, что случилось? Спасибо!
или (лучше) сделать это (а также любые другие имена методов) низкий случай –
Спасибо. Извините меня, мне нужно захлопнуть голову в дверь. –
Это не всегда лучший выбор для переименования функций. Имена наименований нижних регистров не всегда являются стандартными, и переименование функции может вызвать больше ошибок, чем в коде. Обычно мне лучше сначала обратиться к ошибке, а затем посмотреть рефакторинг. –