Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class Main {
- static Scanner sc = new Scanner(System.in);
- static void set(Vector ve){
- System.out.println("Введите позицию напитка информацию которого хотите поменять: \n");
- int ans=sc.nextInt();
- if(ans<0||ans>ve.getsize()) {
- System.out.println("Введенное значение выходит за рамки размера массива обьектов!\n");
- set(ve);
- }
- add(ans,ve);
- }
- static void add(int pos,Vector ve){
- System.out.println("1)Алкогольный\n2)Нелкогольный\n3)Выход\t");
- Baza ci;
- double price;
- double volume;
- String name;
- boolean temperature;
- boolean gaz;
- int oborot;
- int ans=sc.nextInt();
- switch (ans){
- case(1):{
- ci=new Alcohol();
- System.out.println("Название:");
- name=sc.nextLine();
- ci.setName(name);
- System.out.println("Цена: ");
- price=sc.nextDouble();
- ci.setPrice(price);
- System.out.println("Обьем: ");
- volume=sc.nextDouble();
- ci.setVolume(volume);
- System.out.println("Температура(true=cold, false=warm): ");
- temperature=sc.nextBoolean();
- ci.setTemperature(temperature);
- System.out.println("Количество оборотов: ");
- oborot=sc.nextInt();
- ((Alcohol) ci).setObr(oborot);
- ve.insert(ci,pos);
- break;}
- case(2):{
- ci=new NeAlcohol();
- System.out.println("Введите инфрмацию о напитке : \nНазвание:");
- name=sc.nextLine();
- ci.setName(name);
- System.out.println("Цена: ");
- price=sc.nextDouble();
- ci.setPrice(price);
- System.out.println("Обьем: ");
- volume=sc.nextDouble();
- ci.setVolume(volume);
- System.out.println("Температура(true=cold, false=warm): ");
- temperature=sc.nextBoolean();
- ci.setTemperature(temperature);
- System.out.println("Состояние(газированное=true, негазированное=false): ");
- gaz=sc.nextBoolean();
- ((NeAlcohol) ci).setGaz(gaz);
- ve.insert(ci,pos);
- break;}
- case (3):
- break;
- default:
- System.out.println("Error!\n");
- add(pos,ve);
- break;
- }
- }
- public static void main(String[] args) {
- Vector ve=new Vector();
- add(0,ve);
- add(1,ve);
- ve.print();
- set(ve);
- ve.print();
- ve.erase(0);
- ve.print();
- }
- }
- public class Vector {
- protected Baza[] arr=new Baza[10];
- protected int size=0;
- public Vector(){ //конструктор по умолчанию
- }
- private void increase(){ //приватный вспомогательный метод для увеличения массива
- Baza[] tmp=new Baza[arr.length+10];
- for(int i=0; i<arr.length; i++)
- tmp[i]=arr[i];
- arr=tmp;
- }
- public int getsize(){ //получить текущий размер
- return size;
- }
- public void getInfo(Baza obj,int pos) { //получить значение из ячейки
- if((pos<size)&&(pos>=0))
- obj.getInfo();
- else return;
- }
- public void set(Baza obj, int pos){ //замещение элемента
- if((pos<size)&&(pos>=0)) { //позиция должна быть строго меньше размера но не меньше нуля
- arr[pos]=obj;
- }
- else System.out.println("Ошибка ввода! Неверные данные или элементы отсутствуют!");
- }
- public void insert(Baza obj,int pos){ //добавление элемента
- if((pos<=size)&&(pos>=0)){ //позиция должна быть не больше размера и не меньше нуля
- for(int i=arr.length-1; i>pos; i--) //сдвиг элементов
- arr[i]=arr[i-1];
- arr[pos]=obj;
- size++;
- //System.out.println("Значение добавлено!");
- if(size==arr.length) //увеличение размера по надобности
- increase();
- }
- else System.out.println("Ошибка ввода! Неверные данные!");
- }
- public void erase(int pos) { //удаление элемента со сдвигом
- if((pos<size)&&(pos>=0)){
- for(int i=pos; i<size-1; i++) //перезапись элементов
- arr[i]=arr[i+1];
- size--;
- }
- else System.out.println("Ошибка ввода! Неверные данные!");
- }
- public void print(){ //метод печати
- if(size==0)
- System.out.println("Массив пуст!");
- else {
- for(int i=0; i<size; i++)
- arr[i].getInfo();
- System.out.println();
- }
- }
- }
- import java.util.Scanner;
- abstract class Baza{
- private double price;
- private double volume;
- private String name;
- private boolean temperature;
- Scanner sc=new Scanner(System.in);
- public Baza(){}
- public Baza(String name,double price,double volume,boolean temperature){
- setTemperature(temperature);
- setName(name);
- setPrice(price);
- setVolume(volume);
- }
- public void setPrice(double price) {
- this.price = price;
- }
- public double getPrice() {
- return price;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getName() {
- return name;
- }
- public void setTemperature(boolean temperature) {
- if(temperature==true)
- this.temperature = true;
- else
- this.temperature = false;
- }
- public void setVolume(double volume) {
- if(volume<0) {
- System.out.println("Введенный обьем меньше нуля!\nВведите обьем еще раз!\n");
- double vol=sc.nextDouble();
- setVolume(vol);
- }
- else
- this.volume = volume;
- }
- public double getVolume() {
- return volume;
- }
- public String getTemperature(){
- if(this.temperature==true)
- return "Холодный";
- else
- return "Теплый";
- }
- public void getInfo(){}
- }
- public class Alcohol extends Baza{
- private int oborot;
- void Alcohol(){}
- void Alcohol(int oborot){
- this.oborot=oborot;
- }
- public void setObr(int oborot) {
- if(oborot<0)
- return;
- else
- this.oborot=oborot;
- }
- public int getOborot() {
- return oborot;
- }
- public void getInfo(){
- System.out.println("Информация об Алкогольном напитке\nНазвание: "+getName()+"\n"+"Цена: "+getPrice()+"\n"+"Обьем: "+getVolume()+"\n"+"Температура: "+getTemperature()+"\n"+"Количество оборотов: "+getOborot()+"\n");
- }
- }
- public class NeAlcohol extends Baza {
- private boolean gaz;
- void NeAlcohol(){}
- void NeAlcohol(boolean gaz){
- this.gaz=gaz;
- }
- public void setGaz(boolean gaz) {
- this.gaz = gaz;
- }
- public String getGaz() {
- if(gaz==true)
- return "Напиток газированный";
- else
- return "Напиток не газированный";
- }
- public void getInfo(){
- System.out.println("Информация об Безалкогольном напитке\nНазвание: "+getName()+"\n"+"Цена: "+getPrice()+"\n"+"Обьем: "+getVolume()+"\n"+"Температура: "+getTemperature()+"\n"+ getGaz()+"\n");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement