micheal456:
イムは、選択ドリンクメニューに接続順序と別のクラスのthatsのために、私は1つのクラスを持っているResturantのメニュー選択をしようとして
私のためのクラス(テーブル)が実行されている総変数があります。イムは、実行中の合計にアイテムの価格を追加しようとしているが、構文を持つhavignトラブル
selectedItem.getPrice();
Table tbl = new Table();
tbl.setRunningTotal() + selectedItem.getPrice();
私はテーブルクラスの「intance」を作成し、一連の累計「セッター」を使用して、選択したfooditemsに株価法を得ることを追加することで修正するのですか?
ここでは完全な「テーブル」クラスがあります
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;
}
}
すべてのヘルプは別のクラスで実行中の合計属性に食料価格の属性を追加されてやろうとしているすべてのIMをいただければ幸いです
**** **** EDIT
これはSelectDrinkControlleerGUIクラスです
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));
}
}
agillgilla:
あなたの問題は、あなたがの別のインスタンス作成しているということであるTable
あなたは、エントリを追加するたびに。
あなたは、作成したいTable
おそらくのコンストラクタで一度に(私は推測しています)SelectDrinkControllerGUI
:
あなたは既にインスタンス変数を持っているtable
中でSelectDrinkControllerGUI
、これだけにあなたのコンストラクタを変更し、:
public SelectDrinkControllerGUI() {
this.table = new Table();
}
そして、更新addEntry(...)
:
public void addEntry(ActionEvent actionEvent){
FoodDrink selectedItem = lvDrinks.getSelectionModel().getSelectedItem();
fdc.order.add(selectedItem);
table.setRunningTotal(table.getRunningTotal() + selectedItem.getPrice());
System.out.println(table.getRunningTotal());
System.out.println(fdc.order);
}
また、あなたは必要のない"" +
ダブルスをプリントアウトします。ちょうど私が上記のやったことを実行します。
System.out.println(tbl.getRunningTotal());
あなたはまだ問題がある場合、私に教えてください。