package main;
import java.awt.*;
import java.awt.event.*;
import java.util.Vector;
public class Restaurant extends Frame {
private final TextField district;
private final TextField adress;
private final TextField phone;
private final TextField time;
private final TextField orderCost;
private final TextField completeCost;
private final TextField finalCost;
private final TextArea orderList;
private final TextArea bestList;
private final List Pizzas;
private String phonefind;
Vector<Order> queue = new Vector<>();
String[] districts = { "Выборгский", "Калининский", "Невский", "Петроградский", "Приморский" };
int[] delivery = { 200, 100, 450, 50, 550 };
int[] costs = { 250, 450, 400, 200, 330, 320, 200 };
int[] popularity = new int[7]; int totalCost = 0;
class Order {
String district, adress, phone, time, so; String[] meals;
int orderCost;
}
Restaurant(String title) { super(title); setLayout(null);
Label District = new Label("Район:"); Label Adress = new Label("Адрес:"); Label Phone = new Label("Телефон:");
Label Time = new Label("Время доставки:"); Label Meals = new Label("Меню:");
Label Order = new Label("Ваш заказ:"); Label Cost = new Label("Стоимость:");
Label deliveryCost = new Label("С доставкой:"); Label TotalCost = new Label("Выручка за день:"); Label Best = new Label("Лидеры продаж:");
District.setBounds(25, 50, 70, 20);
Adress.setBounds(25, 85, 70, 20);
Phone.setBounds(25, 120, 70, 20);
Time.setBounds(25, 150, 100, 20);
Meals.setBounds(25, 180, 70, 20);
Order.setBounds(30, 375, 80, 20);
Cost.setBounds(30, 535, 80, 20);
deliveryCost.setBounds(30, 570, 80, 20);
TotalCost.setBounds(290, 605, 120, 20);
Best.setBounds(320, 50, 100, 20);
add(District);
add(Adress);
add(Phone);
add(Time);
add(Meals);
add(Order);
add(Cost);
add(deliveryCost);
add(TotalCost);
add(Best);
district = new TextField(); adress = new TextField(); phone = new TextField(); time = new TextField(); orderCost = new TextField(); finalCost = new TextField();
completeCost = new TextField();
district.setBounds(100, 50, 200, 20);
adress.setBounds(100, 85, 200, 20);
phone.setBounds(100, 120, 200, 20);
time.setBounds(130, 150, 170, 20);
orderCost.setBounds(120, 535, 180, 20);
finalCost.setBounds(120, 570, 180, 20);
completeCost.setBounds(410, 605, 180, 20);
add(district);
add(adress);
add(phone);
add(time);
add(orderCost);
add(finalCost);
add(completeCost);
orderList = new TextArea(); bestList = new TextArea();
orderList.setBounds(30, 400, 300, 120);
bestList.setBounds(320, 70, 300, 300);
add(orderList);
add(bestList);
Pizzas = new List(1, true);
Pizzas.add("Пицца с грибами");
Pizzas.add("Пицца карбонара");
Pizzas.add("Пицца четыре вида сыра");
Pizzas.add("Пицца пеперони");
Pizzas.add("Пицца с пюре");
Pizzas.add("Пицца вегетарианская");
Pizzas.add("Пицца-крекер");
Pizzas.setBounds(30, 200, 270, 130);
add(Pizzas);
Button createOrder = new Button("Заказать"); Button findOrder = new Button("Поиск");
createOrder.setBounds(30, 335, 135, 30);
findOrder.setBounds(165, 335, 135, 30);
add(createOrder);
add(findOrder);
createOrder.addActionListener(new makeOrder());
findOrder.addActionListener(new Find());
setSize(650, 650);
setVisible(true);
setResizable(false);
}
class makeOrder implements ActionListener {
@Override
public void actionPerformed(ActionEvent ae) {
Order order = new Order();
order.district = district.getText();
order.adress = adress.getText();
order.phone = phone.getText();
order.meals = Pizzas.getSelectedItems();
order.time = time.getText();
int[] pizzas = Pizzas.getSelectedIndexes(); String finalOrder = "";
for (int i = 0; i < order.meals.length; i++)
{order.orderCost += finalOrder +=costs[pizzas[i]]; // здесь ошибка "String cannot be converted to int"
order.meals[i] + " - " + costs[pizzas[i]]+ " руб." + "\n"; } // тут "not a statement"
order.so = finalOrder;
orderCost.setText(Integer.toString(order.orderCost));
order.so = finalOrder;
orderCost.setText(Integer.toString(order.orderCost));
boolean w=false;
for (int i = 0; i < districts.length; i++) {
if (districts[i].equals(order.district)) { order.orderCost += delivery[i];
finalOrder += "\n" + "Доставка - " + delivery[i] + " руб."; w=true;
}
}
if(!w){
order.orderCost += 700;
finalOrder += "\n" + "Доставка - 700 руб.";
}
finalCost.setText(Integer.toString(order.orderCost));
orderList.setText(finalOrder);
totalCost += order.orderCost;
completeCost.setText(Integer.toString(totalCost));
orderList.append("\nВремя заказа :" + order.time);
queue.add(order);
for (int i = 0; i < pizzas.length; i++) { popularity[pizzas[i]]++; }
String populars = "";
int maxPopularity = 0;
for (int i = 0; i < popularity.length; i++) {
if (popularity[i] > maxPopularity) maxPopularity = popularity[i];}
int k = 0;
for (int i = maxPopularity; i > 0; i--) {
if (k < 4) {
for (int j = 0; j < Pizzas.getItemCount(); j++) {
if (popularity[j] == i) {
populars += Pizzas.getItem(j) + "\n"; k++;}
}
}
}
bestList.setText(populars);
}
}
class Find implements ActionListener {
@Override
public void actionPerformed(ActionEvent ae) { phonefind = phone.getText();
queue.stream().filter((order) -> (order.phone.equals(phonefind))).map((order) -> {
orderList.setText("");
return order;
}).map((order) -> {
orderList.append("Район доставки: " + order.district);
return order;
}).map((order) -> {
orderList.append("\nАдрес доставки: " + order.adress);
return order;
}).map((order) -> {
orderList.append("\nТелефон заказчика: " + order.phone);
return order;
}).map((order) -> {
orderList.append("\nВремя заказа: " + order.time);
return order;
}).map((order) -> {
orderList.append("\n"+"\n"+order.so);
return order;
}).map((order) -> {
finalCost.setText(Integer.toString(order.orderCost));
return order;
}).map((order) -> {
boolean w=false;
for (int i = 0; i < districts.length; i++) {
if (districts[i].equals(order.district)) { order.orderCost -= delivery[i];
}
} if(!w){
order.orderCost -= 700;
} return order;
}).forEachOrdered((order) -> {
orderCost.setText(Integer.toString(order.orderCost));
});
}
}
public static void main(String[] args) {
Restaurant r = new Restaurant("Ресторан Папы Димы"); r.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent ex) { System.exit(0);
}
});
}
}
Здравстуйте. Помогите исправить ошибки на строках 125(String cannot be converted to int) и 126(not a statement).
Виртуальный выделенный сервер (VDS) становится отличным выбором
Не работает android studio без файла javaxactivation-1
Как известно, освобождение монитора и последующий захват этого же монитора другим потоком соотносятся как happens-before, те
у меня следующая проблема: созданный проект и intellij находит все классы в проекте посредством рефлексии, но при собирании проекта вjar файл рефлексия...
Пожалуйста, объясните как можно используя каждый из этих способов извлекать ключК пример есть: