Java

Помогите с задачей по JAVA

Владельцы магазинчика, продающего арбуз и дыню, решили вести учет своей продукции. Напишите программу, помогающую им с их идеей.

Для этого создайте статические поля, отвечающие за количество арбузов и дынь в наличии и за их цены, задав любые стартовые значения.
Также реализуйте статические методы:
- продать X арбузов - покупатель приобрел Х арбузов, гарантируется, что хотя бы X арбузов было перед продажей в наличии
- продать Y дынь - покупатель приобрел Y дынь, гарантируется, что хотя бы Y дынь было перед продажей в наличии
- продать X арбузов и Y дынь - объединение двух предыдущих методов
- изменить цену на арбуз на A - новая цена арбуза теперь А рублей
- изменить цену на дыню на В - новая цена дыни теперь В рублей
- узнать сколько всего в сумме арбузов и дынь сейчас в наличии - клиенту нужно очень много арбузов и дынь, и он оценивает хватит ли ему
- узнать сколько в сумме будут стоить X арбузов и Y дынь - клиент хочет узнать стоимость своего заказа в рублях

Названия статических методов должны отражать суть их назначения. Каждый статический метод должен изменять количество арбузов и дынь в наличии, либо изменять их цену, либо что-то считать, ничего не изменяя, в соответствии с назначением этого метода. Все статические методы должны иметь верное количество параметров подходящего типа и правильное возвращаемое значение, либо его отсутствие.

Расставьте статическим методам модификаторы доступа - внутренние данные магазина должны быть недоступны вне класса, в то время как информация для клиентов должна быть открыта всем.
Вот пример кода, который может помочь владельцам магазина учитывать свою продукцию:

public class Store {
private static int watermelonCount;
private static int melonCount;
private static int watermelonPrice;
private static int melonPrice;

public Store(int watermelonCount, int melonCount, int watermelonPrice, int melonPrice) {
Store.watermelonCount = watermelonCount;
Store.melonCount = melonCount;
Store.watermelonPrice = watermelonPrice;
Store.melonPrice = melonPrice;
}

public static void sellWatermelons(int x) {
watermelonCount -= x;
}

public static void sellMelons(int y) {
melonCount -= y;
}

public static void sellWatermelonsAndMelons(int x, int y) {
sellWatermelons(x);
sellMelons(y);
}

public static void changeWatermelonPrice(int a) {
watermelonPrice = a;
}

public static void changeMelonPrice(int b) {
melonPrice = b;
}

public static int getTotalFruits() {
return watermelonCount + melonCount;
}

public static int getTotalCost(int x, int y) {
return x * watermelonPrice + y * melonPrice;
}
}

Этот код создает класс `Store`, который содержит статические поля для количества арбузов и дынь в наличии и их цен. В конструкторе класса задаются начальные значения для этих полей. В классе также реализованы статические методы для продажи арбузов и дынь, изменения цен на них, получения общего количества фруктов в наличии и расчета стоимости заказа. Методы имеют соответствующие модификаторы доступа: внутренние данные магазина недоступны вне класса, а информация для клиентов открыта всем.
Евгений Балобейко
Евгений Балобейко
25 855
Лучший ответ
Александр Воронцов Спасибо большое! Сейчас обучаюсь Java программированию, скажите надо всё знать наизусть или есть шаблоны, которые помогают в работе?
ещё раз спрашиваешь?...
YK
Yaroslav Kuznetsov
65 269
 public class FruitStore {  

// Статические поля для учета арбузов и дынь

private static int arbuzeInStock = 100; // Начальное количество арбузов

private static int dyniInStock = 50; // Начальное количество дынь



// Статические поля для цен на арбуз и дыню

private static double arbuzePrice = 3.0; // Начальная цена арбуза в рублях

private static double dyniPrice = 2.0; // Начальная цена дыни в рублях



// Статический метод для продажи арбузов

public static void sellArbuze(int quantity) {

arbuzeInStock -= quantity;

}



// Статический метод для продажи дынь

public static void sellDyni(int quantity) {

dyniInStock -= quantity;

}



// Статический метод для продажи арбузов и дынь

public static void sellArbuzeAndDyni(int arbuzeQuantity, int dyniQuantity) {

sellArbuze(arbuzeQuantity);

sellDyni(dyniQuantity);

}



// Статический метод для изменения цены на арбуз

public static void changeArbuzePrice(double newPrice) {

arbuzePrice = newPrice;

}



// Статический метод для изменения цены на дыню

public static void changeDyniPrice(double newPrice) {

dyniPrice = newPrice;

}



// Статический метод для получения общего количества арбузов и дынь в наличии

public static int getTotalFruitsInStock() {

return arbuzeInStock + dyniInStock;

}



// Статический метод для расчета стоимости заказа

public static double calculateOrderCost(int arbuzeQuantity, int dyniQuantity) {

double arbuzeCost = arbuzeQuantity * arbuzePrice;

double dyniCost = dyniQuantity * dyniPrice;

return arbuzeCost + dyniCost;

}



// Статический метод для получения цены арбуза

public static double getArbuzePrice() {

return arbuzePrice;

}



// Статический метод для получения цены дыни

public static double getDyniPrice() {

return dyniPrice;

}

}


Этот класс FruitStore содержит статические поля для учета количества арбузов и дынь в наличии, а также для цен на арбуз и дыню. Он также включает статические методы, которые позволяют продавать фрукты, изменять цены, получать информацию о наличии и рассчитывать стоимость заказа. Методы имеют модификатор доступа public, чтобы они были доступны клиентам извне класса.
Zaur Zaur
Zaur Zaur
5 376