Я пытаюсь сделать селектор меню ресторана. У меня есть один класс для заказа и другой класс, который связан с меню выбора напитка.
Мой класс заказа (таблица) имеет переменную промежуточного итога. Я пытаюсь добавить цену предмета к итоговой сумме, но у меня возникают проблемы с синтаксисом
selectedItem.getPrice();
Table tbl = new Table();
tbl.setRunningTotal() + selectedItem.getPrice();
. Правильно ли я создаю 'intance' класса таблицы, а затем использую сеттер set run total 'и добавив, что к выбранным элементам питания получают метод определения цены?
Вот полный класс' Table '
package sample;
import java.util.ArrayList;
public class Table {
private ArrayList<FoodDrinkController> customers;
private String tablenumber;
private ArrayList order;
private double runningTotal;
private double totalCalories;
public Table(ArrayList<FoodDrinkController> customers, String tablenumber, ArrayList order, double runningTotal, double totalCalories) {
this.customers = customers;
this.tablenumber = tablenumber;
this.order = order;
this.runningTotal = runningTotal;
this.totalCalories = totalCalories;
}
public Table() {
}
public ArrayList<FoodDrinkController> getCustomers() {
return customers;
}
public void setCustomers(ArrayList<FoodDrinkController> customers) {
this.customers = customers;
}
public String getTablenumber() {
return tablenumber;
}
public void setTablenumber(String tablenumber) {
this.tablenumber = tablenumber;
}
public ArrayList getOrder() {
return order;
}
public void setOrder(ArrayList order) {
this.order = order;
}
public double getRunningTotal() {
return runningTotal;
}
public void setRunningTotal(double runningTotal) {
this.runningTotal = runningTotal;
}
public double getTotalCalories() {
return totalCalories;
}
public void setTotalCalories(double totalCalories) {
this.totalCalories = totalCalories;
}
}
Буду признателен за любую помощь. Все, что я пытаюсь сделать, это добавить цену на продукты питания. атрибут для атрибута промежуточного итога в другом классе
**** РЕДАКТИРОВАТЬ ****
Это SelectDrinkControlleer GUI class
package sample;
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.ListView;
import javafx.stage.Stage;
import java.util.ArrayList;
public class SelectDrinkControllerGUI extends Application {
public ListView<FoodDrink> lvDrinks;
private FoodDrinkController fdc = new FoodDrinkController();
private Table table;
public SelectDrinkControllerGUI() {
}
@Override
public void start(Stage stage) throws Exception {
}
// Filters the menu items so i just displays drinks in the listview
@FXML
public void initialize() {
System.out.println("initialize");
ObservableList<FoodDrink> items = fdc.filterByType(Global.itemtype.DRINK);
ArrayList<FoodDrink> stringList = new ArrayList<>();
//System.out.println(items);
for (FoodDrink item : items) {
stringList.add(item);
}
lvDrinks.setItems(FXCollections.observableList(stringList));
}
// Button that adds the selected item to the order array
public void addEntry(ActionEvent actionEvent){
FoodDrink selectedItem = lvDrinks.getSelectionModel().getSelectedItem();
fdc.order.add(selectedItem);
selectedItem.getPrice();
Table tbl = new Table();
tbl.setRunningTotal(tbl.getRunningTotal() + selectedItem.getPrice());
System.out.println("" + tbl.getRunningTotal());
System.out.println(fdc.order);
}
}
И это класс FoodDrinkController, который обрабатывает все типы продуктов питания
package sample;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import java.util.ArrayList;
public class FoodDrinkController {
private ArrayList<FoodDrink> fullList = new ArrayList<>();
public ArrayList<FoodDrink> order = new ArrayList<FoodDrink>();
//constructor with some stuff in it
public FoodDrinkController(){
FoodDrink cola = new FoodDrink("Coca Cola", 2.99, Global.itemtype.DRINK);
FoodDrink pepsi = new FoodDrink("Pepsi", 2.99, Global.itemtype.DRINK);
FoodDrink lemmonade = new FoodDrink("Lemmonade", 2.99, Global.itemtype.DRINK);
FoodDrink garlicbread = new FoodDrink("Garlic Bread", 4.99, Global.itemtype.STARTER);
FoodDrink burger = new FoodDrink("burger", 7.99, Global.itemtype.MAIN);
fullList.add(cola);
fullList.add(pepsi);
fullList.add(lemmonade);
fullList.add(burger);
fullList.add(garlicbread);
}
public ObservableList<FoodDrink> filterByType(Global.itemtype itemtype){
ArrayList<FoodDrink> subList = new ArrayList<>();
for (FoodDrink listItem : fullList){
if(listItem.getItemtype().equals(itemtype)){
subList.add(listItem);
}
}
return FXCollections.observableArrayList(subList);
}
//plain old main method
public static void main(String[] args) {
//SelectDrinkController fbtd = new SelectDrinkController();
//System.out.println(fbtd.filterByType("DRINK"));
FoodDrinkController fdc = new FoodDrinkController();
//System.out.println(fdc.filterByType(Global.itemtype.DRINK));
}
}