java примеры

Примеры на Java (часть 7)

Здравствуйте, продолжаем решать задачи на Java языке, ниже преставлены ещё 30 задач.

Скачать исходники для статьи можно ниже

Примеры на Java (часть 1) можете прочитать здесь.

Примеры на Java (часть 2) можете прочитать здесь.

Примеры на Java (часть 3) можете прочитать здесь.

Примеры на Java (часть 4) можете прочитать здесь.

Примеры на Java (часть 5) можете прочитать здесь.

Примеры на Java (часть 6) можете прочитать здесь.

Задача 160: Программа выводит адреса трех людей, адреса записаны с разными реквизитами.

public class Adre {
   String name;
   String town;
   String street;
   int house;
   int korpus;
   int flat;

   Adre(String n, String t, String st, int h, int k, int fl) {
      name = n;
      town = t;
      street = st;
      house = h;
      korpus = k;
      flat = fl;
   }

   Adre(String n, String t, String st, int h, int fl) {
      name = n;
      town = t;
      street = st;
      house = h;
      flat = fl;


   Adre(String n, String t, String st, int h) {
      name = n;
      town = t;
      street = st;
      house = h;
   }

   public void address() {
      System.out.println(name);
      System.out.println("Город " + town + ",");
      System.out.println("улица " + street + ",");
      System.out.println("дом " + house + ",");
      System.out.println("корпус " + korpus + ",");
      System.out.println("квартира " + flat + ".");
      System.out.println("");
   }

}
public class Main {
   public static void main(String[] args) {

      Adre address1 = new Adre("Андрей","Минск","Есенина",68,3,10);

      Adre address2 = new Adre("Петя","Пенза","Ленина",22,8);

      Adre address3 = new Adre("Вася","Тверь","Пушкина",111);

      address1.address();
      address2.address();
      address3.address();
   }
}

Ответ:

Андрей
Город Минск,
улица Есенина,
дом 68,
корпус 3,
квартира 10.

Петя
Город Пенза,
улица Ленина,
дом 22,
корпус 0,
квартира 8.

Вася
Город Тверь,
улица Пушкина,
дом 111,
корпус 0,
квартира 0.

Задача 161: Программа использует 2 метода(increase1 и increase2) для увеличения размеров коробки. В первом случае аргумент передается по значению, во втором – по ссылке.
В первом случае изначальный объект не меняется, во втором – меняется.

public class Box {
   int width;
   int height;
   int lenght;

   Box(int width, int height, int lenght) {
      this.width = width;
      this.height = height;
      this.lenght = lenght;
   }

   public void increase1(int width, int height, int lenght) {
      System.out.println("");
      width = width * 2;
      height = height * 2;
      lenght = lenght * 2;
      System.out.println("По значению:");
      System.out.println("");
   }

   public void increase2(Box box) {
      System.out.println("");
      box.width = box.width * 2;
      box.height = box.height * 2;
      box.lenght = box.lenght * 2;
      System.out.println("По ссылке:");
      System.out.println("");
   }
}
public class Task {
   public static void main(String[] args) {
      Box box1 = new Box(10, 20, 30);

      System.out.println("Ширина:" + box1.width);
      System.out.println("Высота:" + box1.height);
      System.out.println("Длина:" + box1.lenght);

      box1.increase1(box1.width, box1.height, box1.lenght);

      System.out.println("Ширина:" + box1.width);
      System.out.println("Высота:" + box1.height);
      System.out.println("Длина:" + box1.lenght);

      box1.increase2(box1);

      System.out.println("Ширина:" + box1.width);
      System.out.println("Высота:" + box1.height);
      System.out.println("Длина:" + box1.lenght);
   }
}

Ответ:

Ширина:10
Высота:20
Длина:30

По значению:

Ширина:10
Высота:20
Длина:30

По ссылке:

Ширина:20
Высота:40
Длина:60

Задача 162: Программа использует 2 метода(increase1 и increase2) для увеличения размеров коробки. В первом случае аргумент передается по значению, во втором – по ссылке.
В первом случае изначальный объект не меняется, во втором – меняется.

public class Task {
   public static void main(String[] args) {
      Box box1 = new Box(10, 20, 30);

      System.out.println("Ширина:" + box1.width);
      System.out.println("Высота:" + box1.height);
      System.out.println("Длина:" + box1.lenght);

      box1.increase1(box1.width, box1.height, box1.lenght);

      System.out.println("Ширина:" + box1.width);
      System.out.println("Высота:" + box1.height);
      System.out.println("Длина:" + box1.lenght);

      box1.increase2(box1);

      System.out.println("Ширина:" + box1.width);
      System.out.println("Высота:" + box1.height);
      System.out.println("Длина:" + box1.lenght);
   }
}
public class Box {
   int width;
   int height;
   int lenght;

   Box(int width, int height, int lenght) {
      this.width = width;
      this.height = height;
      this.lenght = lenght;
   }

   public void increase1(int width, int height, int lenght) {
      System.out.println("");
      width = width * 2;
      height = height * 2;
      lenght = lenght * 2;
      System.out.println("По значению:");
      System.out.println("");
   }

   public void increase2(Box box) {
      System.out.println("");
      box.width = box.width * 2;
      box.height = box.height * 2;
      box.lenght = box.lenght * 2;
      System.out.println("По ссылке:");
      System.out.println("");
   }
}

Ответ:

Ширина:10
Высота:20
Длина:30

По значению:

Ширина:10
Высота:20
Длина:30

По ссылке:

Ширина:20
Высота:40
Длина:60

Задача 163: Программа использует 2 метода(carDreem1 и carDreem2) для изменения параметров автомобиля. В первом случае аргумент передается по значению, во втором – по ссылке.
В первом случае изначальные характеристики автомобиля не меняются, во втором – меняются.

public class Car {
   String name;
   double cost;
   int speed;
   int wheel;

   Car(String name, double cost, int speed, int wheel) {
      this.name = name;
      this.cost = cost;
      this.speed = speed;
      this.wheel = wheel;

   }

   public void carDreem1(String name, double cost, int speed, int wheel) {
      name = "DreemCar";
      cost = cost / 2;
      speed = speed * 2;
      wheel = 6;
      System.out.println("");
      System.out.println("По значению:");
   }

   public void carDreem2(Car car) {
      car.name = "DreemCar";
      car.cost = cost / 2;
      car.speed = speed * 2;
      car.wheel = 6;
      System.out.println("");
      System.out.println("По ссылке:");
   }
}
public class Main {

   public static void main(String[] args) {

      Car car1 = new Car("BMW", 80000.0, 220, 4);

      System.out.println("Модель:" + car1.name);
      System.out.println("Цена:" + car1.cost);
      System.out.println("Скорость:" + car1.speed);
      System.out.println("Колеса:" + car1.wheel);

      car1.carDreem1(car1.name, car1.cost, car1.speed, car1.wheel);

      System.out.println("Модель:" + car1.name);
      System.out.println("Цена:" + car1.cost);
      System.out.println("Скорость:" + car1.speed);
      System.out.println("Колеса:" + car1.wheel);

      car1.carDreem2(car1);

      System.out.println("Модель:" + car1.name);
      System.out.println("Цена:" + car1.cost);
      System.out.println("Скорость:" + car1.speed);
      System.out.println("Колеса:" + car1.wheel);
   }
}

Ответ:

Модель:BMW
Цена:80000.0
Скорость:220
Колеса:4

По значению:
Модель:BMW
Цена:80000.0
Скорость:220
Колеса:4

По ссылке:
Модель:DreemCar
Цена:40000.0
Скорость:440
Колеса:6

Задача 164: Программа использует 2 метода(carDreem1 и carDreem2) для изменения параметров автомобиля. В первом случае аргумент передается по значению, во втором – по ссылке.
В первом случае изначальные характеристики автомобиля не меняются, во втором – меняются.

public class Main {

   public static void main(String[] args) {

      Car car1 = new Car("BMW", 80000.0, 220, 4);

      System.out.println("Модель:" + car1.name);
      System.out.println("Цена:" + car1.cost);
      System.out.println("Скорость:" + car1.speed);
      System.out.println("Колеса:" + car1.wheel);

      car1.carDreem1(car1.name, car1.cost, car1.speed, car1.wheel);

      System.out.println("Модель:" + car1.name);
      System.out.println("Цена:" + car1.cost);
      System.out.println("Скорость:" + car1.speed);
      System.out.println("Колеса:" + car1.wheel);

      car1.carDreem2(car1);

      System.out.println("Модель:" + car1.name);
      System.out.println("Цена:" + car1.cost);
      System.out.println("Скорость:" + car1.speed);
      System.out.println("Колеса:" + car1.wheel);
   }
}
public class Car {
   String name;
   double cost;
   int speed;
   int wheel;

   Car(String name, double cost, int speed, int wheel) {
      this.name = name;
      this.cost = cost;
      this.speed = speed;
      this.wheel = wheel;

   }

   public void carDreem1(String name, double cost, int speed, int wheel) {
      name = "DreemCar";
      cost = cost / 2;
      speed = speed * 2;
      wheel = 6;
      System.out.println("");
      System.out.println("По значению:");
   }

   public void carDreem2(Car car) {
      car.name = "DreemCar";
      car.cost = cost / 2;
      car.speed = speed * 2;
      car.wheel = 6;
      System.out.println("");
      System.out.println("По ссылке:");
   }
}

Ответ:

Модель:BMW
Цена:80000.0
Скорость:220
Колеса:4

По значению:
Модель:BMW
Цена:80000.0
Скорость:220
Колеса:4

По ссылке:
Модель:DreemCar
Цена:40000.0
Скорость:440
Колеса:6

Задача 165: Программа использует 2 метода(increase1 и increase2) для работы с данными из массива. В первом случае аргумент передается по значению, во втором – по ссылке.
В первом случае сам массив не меняется, во втором – меняется.

public class Main {

   public static void main(String[] args) {

      int[] a = { 1, 2, 3 };
      System.out.println("" + a[0] + a[1] + a[2]);
      Main.increase1(a[0], a[1], a[2]);
      System.out.println("" + a[0] + a[1] + a[2]);
      Main.increase2(a);
      System.out.println("" + a[0] + a[1] + a[2]);
   }

   public static void increase1(int a0, int a1, int a2) {
      a0 = a0 * 2;
      a1 = a1 * 2;
      a2 = a2 * 2;
      System.out.println("По значению: " + a0 + a1 + a2);
   }

   public static void increase2(int[] a) {
      a[0] = a[0] * 2;
      a[1] = a[1] * 2;
      a[2] = a[2] * 2;
      System.out.println("По ссылке: " + a[0] + a[1] + a[2]);
   }
}

Ответ:

123
По значению: 246
123
По ссылке: 246
246

Задача 166: Программа выводит адрес, используя getter-ы и setter-ы.

public class Home {

   public String town;
   private String street;
   public int house;
   private int korpus;
   private int flat;

   public void setstreet(String s) {
      this.street = s;
   }

   public String getstreet() {
      return street;
   }

   public void setkorpus(int k) {
      this.korpus = k;
   }

   public int getkorpus() {
      return korpus;
   }

   public void setflat(int f) {
      this.flat = f;
   }

   public int getflat() {
      return flat;
   }
}
public class Main {

   public static void main(String[] args) {
      Home home1 = new Home();
      home1.town = "Москва";
      home1.setstreet("Якиманка");
      home1.house = 3;
      home1.setkorpus(2);
      home1.setflat(23);

      System.out.println("Город:" + home1.town);
      System.out.println("улица:" + home1.getstreet());
      System.out.println("дом:" + home1.house);
      System.out.println("корпус:" + home1.getkorpus());
      System.out.println("квартира:" + home1.getflat());
   }
}

Ответ:

Город:Москва
улица:Якиманка
дом:3
корпус:2
квартира:23

Задача 167: Программа выводит адрес, используя getter-ы и setter-ы.

public class Main {

   public static void main(String[] args) {
      Home home1 = new Home();
      home1.town = "Москва";
      home1.setstreet("Якиманка");
      home1.house = 3;
      home1.setkorpus(2);
      home1.setflat(23);

      System.out.println("Город:" + home1.town);
      System.out.println("улица:" + home1.getstreet());
      System.out.println("дом:" + home1.house);
      System.out.println("корпус:" + home1.getkorpus());
      System.out.println("квартира:" + home1.getflat());
   }
}
public class Home {

   public String town;
   private String street;
   public int house;
   private int korpus;
   private int flat;

   public void setstreet(String s) {
      this.street = s;
   }

   public String getstreet() {
      return street;
   }

   public void setkorpus(int k) {
      this.korpus = k;
   }

   public int getkorpus() {
      return korpus;
   }

   public void setflat(int f) {
      this.flat = f;
   }

   public int getflat() {
      return flat;
   }
}

Ответ:

Город:Москва
улица:Якиманка
дом:3
корпус:2
квартира:23

Задача 168: Программа выводит характеристики стиральной машины, используя getter-ы и setter-ы.

public class Main {
   public static void main(String[] args) {
      Wash washingMashine1 = new Wash();
      washingMashine1.setName("Bosch");
      washingMashine1.setColor("White");
      washingMashine1.setType("front");
      washingMashine1.setOborot(1000);
      washingMashine1.setProg(22);

      System.out.println("Стиралка:" + washingMashine1.getName());
      System.out.println("цвет:" + washingMashine1.getColor());
      System.out.println("тип:" + washingMashine1.getType());
      System.out.println("обороты:" + washingMashine1.getOborot());
      System.out.println("программы:" + washingMashine1.getProg());
   }
}
public class Wash {

   private String name;
   private String color;
   private String type;
   private int oborot;
   private int prog;

   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }

   public String getColor() {
      return color;
   }

   public void setColor(String color) {
      this.color = color;
   }

   public String getType() {
      return type;
   }

   public void setType(String type) {
      this.type = type;
   }

   public int getOborot() {
      return oborot;
   }

   public void setOborot(int oborot) {
      this.oborot = oborot;
   }

   public int getProg() {
      return prog;
   }

   public void setProg(int prog) {
      this.prog = prog;
   }
}

Ответ:

Стиралка:Bosch
цвет:White
тип:front
обороты:1000
программы:22

Задача 169: Программа выводит характеристики стиральной машины, используя getter-ы и setter-ы.

public class Wash {

   private String name;
   private String color;
   private String type;
   private int oborot;
   private int prog;

   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }

   public String getColor() {
      return color;
   }

   public void setColor(String color) {
      this.color = color;
   }

   public String getType() {
      return type;
   }

   public void setType(String type) {
      this.type = type;
   }

   public int getOborot() {
      return oborot;
   }

   public void setOborot(int oborot) {
      this.oborot = oborot;
   }

   public int getProg() {
      return prog;
   }

   public void setProg(int prog) {
      this.prog = prog;
   }
}
public class Main {
   public static void main(String[] args) {
      Wash washingMashine1 = new Wash();
      washingMashine1.setName("Bosch");
      washingMashine1.setColor("White");
      washingMashine1.setType("front");
      washingMashine1.setOborot(1000);
      washingMashine1.setProg(22);

      System.out.println("Стиралка:" + washingMashine1.getName());
      System.out.println("цвет:" + washingMashine1.getColor());
      System.out.println("тип:" + washingMashine1.getType());
      System.out.println("обороты:" + washingMashine1.getOborot());
      System.out.println("программы:" + washingMashine1.getProg());
   }
}

Ответ:

Стиралка:Bosch
цвет:White
тип:front
обороты:1000
программы:22

Задача 170: Программа выводит характеристики коробки, используя getter-ы и setter-ы.

public class Box {
   private int width;
   private int height;
   private int lenght;
   private String colors;

   public int getWidth() {
      return width;
   }

   public void setWidth(int width) {
      this.width = width;
   }

   public int getHeight() {
      return height;
   }

   public void setHeight(int height) {
      this.height = height;
   }

   public String getColors() {
      return colors;
   }

   public void setColors(String colors) {
      this.colors = colors;
   }

   public int getLenght() {
      return lenght;
   }

   public void setLenght(int lenght) {
      this.lenght = lenght;
   }
}
public class Main {

   public static void main(String[] args) {
      Box box1 = new Box();
      box1.setWidth(10);
      box1.setHeight(20);
      box1.setLenght(30);
      box1.setColors("Красный");

      System.out.println("Ширина:" + box1.getWidth());
      System.out.println("высота:" + box1.getHeight());
      System.out.println("длина:" + box1.getLenght());
      System.out.println("цвет:" + box1.getColors());

   }
}

Ответ:

Ширина:10
высота:20
длина:30
цвет:Красный

Задача 171: По проселочной дороге с ограничением скорости до 60 км.ч. проезжают несколько машин в день. Программа фиксирует нарушения и считает количество нарушений за первые три дня недели.

public class Main {

   public static void main(String[] args) {
      System.out.println("Понедельник");
      Main.vivod(32, 68, 54, 23, 100);
      System.out.println("Вторник");
      Main.vivod(45, 6, 32);
      System.out.println("Среда");
      Main.vivod(79, 65, 22, 11);
   }

   public static void vivod(int ... v) {
      int countViolation = 0;
      int countNoViolation = 0;
      for (int i : v) {
         if (i > 60) {
            System.out.println(i + " нарушение ПДД");
            countViolation = countViolation + 1;
         } else {
            System.out.println(i + " нет нарушения ПДД");
            countNoViolation = countNoViolation + 1;
         }
      }
      System.out.print("без нарушений " + countNoViolation);
      System.out.println(", с нарушениями " + countViolation);
      System.out.println(" ");
   }
}

Ответ:

Понедельник
32 нет нарушения ПДД
68 нарушение ПДД
54 нет нарушения ПДД
23 нет нарушения ПДД
100 нарушение ПДД
без нарушений 3, с нарушениями 2

Вторник
45 нет нарушения ПДД
6 нет нарушения ПДД
32 нет нарушения ПДД
без нарушений 3, с нарушениями 0

Среда
79 нарушение ПДД
65 нарушение ПДД
22 нет нарушения ПДД
11 нет нарушения ПДД
без нарушений 2, с нарушениями 2

Задача 172: На предприятие грузовики завозят песок. Грузовики разной грузоподъемностью, совершают в день разное количество рейсов. Программа фиксирует рейсы и считает количество привезенных тонн по дням.

public class Task {

   public static void main(String[] args) {

      Truc truck1 = new Truc("Volvo", 20);
      Truc truck2 = new Truc("Mercedes", 22);
      Truc truck3 = new Truc("MAN", 19);
      Truc truck4 = new Truc("Volvo", 10);
      Truc truck5 = new Truc("KIA", 30);

      System.out.println("1 день");
      countCargo(truck1, truck3, truck2, truck5, truck4);
      System.out.println("2 день");
      countCargo(truck1, truck5, truck4, truck4);
      System.out.println("3 день");
      countCargo(truck5, truck1);
   }

   public static void countCargo(Truc... v) {
      int countViolation = 0;
      for (Truc i : v) {
         System.out.println(i.getName() + " " + i.getCapacity() + " тонн");
         countViolation = countViolation + i.getCapacity();
      }
      System.out.println("Всего за день " + countViolation + " тонн");
      System.out.println("");
   }
}
public class Truc {
   private String name;
   private int capacity;

   public String getName() {
      return name;
   }

   public int getCapacity() {
      return capacity;
   }

ruc(String name, int capacity) {
      this.capacity = capacity;
      this.name = name;
   }
}

Ответ:
1 день
Volvo 20 тонн
MAN 19 тонн
Mercedes 22 тонн
KIA 30 тонн
Volvo 10 тонн
Всего за день 101 тонн

2 день
Volvo 20 тонн
KIA 30 тонн
Volvo 10 тонн
Volvo 10 тонн
Всего за день 70 тонн

3 день
KIA 30 тонн
Volvo 20 тонн
Всего за день 50 тонн

Задача 173: На предприятие грузовики завозят песок. Грузовики разной грузоподъемностью, совершают в день разное количество рейсов. Программа фиксирует рейсы и считает количество привезенных тонн по дням.

public class Truc {
   private String name;
   private int capacity;

   public String getName() {
      return name;
   }

   public int getCapacity() {
      return capacity;
   }

   Truc(String name, int capacity) {
      this.capacity = capacity;
      this.name = name;
   }
}
public class Task {

   public static void main(String[] args) {

      Truc truck1 = new Truc("Volvo", 20);
      Truc truck2 = new Truc("Mercedes", 22);
      Truc truck3 = new Truc("MAN", 19);
      Truc truck4 = new Truc("Volvo", 10);
      Truc truck5 = new Truc("KIA", 30);

      System.out.println("1 день");
      countCargo(truck1, truck3, truck2, truck5, truck4);
      System.out.println("2 день");
      countCargo(truck1, truck5, truck4, truck4);
      System.out.println("3 день");
      countCargo(truck5, truck1);
   }

   public static void countCargo(Truc... v) {
      int countViolation = 0;
      for (Truc i : v) {
         System.out.println(i.getName() + " " + i.getCapacity() + " тонн");
         countViolation = countViolation + i.getCapacity();
      }
      System.out.println("Всего за день " + countViolation + " тонн");
      System.out.println("");
   }
}

Ответ:
1 день
Volvo 20 тонн
MAN 19 тонн
Mercedes 22 тонн
KIA 30 тонн
Volvo 10 тонн
Всего за день 101 тонн

2 день
Volvo 20 тонн
KIA 30 тонн
Volvo 10 тонн
Volvo 10 тонн
Всего за день 70 тонн

3 день
KIA 30 тонн
Volvo 20 тонн
Всего за день 50 тонн

Задача 174: Хоккеист за время тренировки делает несколько бросков. Программа считает количество голов по дням недели.

public class Task {

   public static void main(String[] args) {

      System.out.println("Забито голов за тренировку по дням:");
      System.out.println("Понедельник");
      System.out.println(Task.hokkey(true, false, false, false));
      System.out.println("Вторник");
      System.out.println(Task.hokkey(false, false, true, false, true, false));
      System.out.println("Среда");
      System.out.println(Task.hokkey());
      System.out.println("Четверг");
      System.out.println(Task.hokkey(false, false, true, false));
      System.out.println("Пятница");
      System.out.println(Task.hokkey(false));
      System.out.println("Суббота");
      System.out.println(Task.hokkey(true, false, false, false, false));
   }

   public static int hokkey(boolean... v) {
      int countBullits = 0;
      for (boolean a : v) {
         if (a) {
            countBullits = countBullits + 1;
         }
      }
      return countBullits;
   }
}

Ответ:

Забито голов за тренировку по дням:
Понедельник 1
Вторник 2
Среда 0
Четверг 1
Пятница 0
Суббота 1

Задача 175: Команда по борьбе участвует в трех соревнованиях. На каждое соревнование приедет разное количество участников. Программа разбивает участников на разные весовые категории.

public class Main {

   public static void main(String[] args) {
      Man man1 = new Man("Ваня", 41);
      Man man2 = new Man("Саша", 38);
      Man man3 = new Man("Дима", 33);
      Man man4 = new Man("Леша", 42);
      Man man5 = new Man("Леня", 39);
      Man man6 = new Man("Даник", 36);

      championship(man1, man2, man3, man4, man5, man6);
      championship(man3, man4, man5, man6);
      championship(man1, man4, man5, man2);
   }

   public static void championship(Man... v) {
      int weight33 = 0;
      int weight37 = 0;
      int weight41 = 0;
      int weight50 = 0;
      for (Man i : v) {
         if (i.getWeight() <= 33) {
            weight33 = weight33 + 1;
         } else if (i.getWeight() <= 37) {
            weight37 = weight37 + 1;
         } else if (i.getWeight() <= 41) {
            weight41 = weight41 + 1;
         } else {
            weight50 = weight50 + 1;
         }
      }
      System.out.println("До 33 кг " + weight33);
      System.out.println("До 37 кг " + weight37);
      System.out.println("До 41 кг " + weight41);
      System.out.println("До 50 кг " + weight50);
      System.out.println("");
   }
}
public class Man {
   private String name;
   private int weight;

   public String getName() {
      return name;
   }

   public int getWeight() {
      return weight;
   }

   Man(String name, int weight) {
      this.name = name;
      this.weight = weight;
   }
}

Ответ:

До 33 кг 1
До 37 кг 1
До 41 кг 3
До 50 кг 1

До 33 кг 1
До 37 кг 1
До 41 кг 1
До 50 кг 1

До 33 кг 0
До 37 кг 0
До 41 кг 3
До 50 кг 1

Задача 176: На предприятие грузовики завозят песок. Грузовики разной грузоподъемностью совершают в день разное количество рейсов. Программа фиксирует рейсы и считает количество привезенных тонн по дням.

public class Task {

   public static void main(String[] args) {

      Truc truck1 = new Truc("Volvo", 20);
      Truc truck2 = new Truc("Mercedes", 22);
      Truc truck3 = new Truc("MAN", 19);
      Truc truck4 = new Truc("Volvo", 10);
      Truc truck5 = new Truc("KIA", 30);

      countCargo("Кирпичный завод ","Понедельник ",truck1, truck3, truck2, truck5, truck4);
      countCargo("Кирпичный завод ","Вторник ",truck1, truck5, truck4, truck4);
      countCargo("Кирпичный завод ","Среда ",truck5, truck1);
   }

   public static void countCargo(String pred,String day,Truc... v) {
      System.out.println(pred);
      int countViolation = 0;
      for (Truc i : v) {
         System.out.println(i.getName() + " " + i.getCapacity() + " тонн");
         countViolation = countViolation + i.getCapacity();
      }
      System.out.println(day + countViolation + " тонн");
      System.out.println("");
   }
}
public class Truc {
   private String name;
   private int capacity;

   public String getName() {
      return name;
   }

   public int getCapacity() {
      return capacity;
   }

   Truc(String name, int capacity) {
      this.capacity = capacity;
      this.name = name;
   }
}

Ответ:

Кирпичный завод
Volvo 20 тонн
MAN 19 тонн
Mercedes 22 тонн
KIA 30 тонн
Volvo 10 тонн
Понедельник 101 тонн

Кирпичный завод
Volvo 20 тонн
KIA 30 тонн
Volvo 10 тонн
Volvo 10 тонн
Вторник 70 тонн

Кирпичный завод
KIA 30 тонн
Volvo 20 тонн
Среда 50 тонн

Задача 177: На предприятие грузовики завозят песок. Грузовики разной грузоподъемностью совершают в день разное количество рейсов. Программа фиксирует рейсы и считает количество привезенных тонн по дням.

public class Truc {
   private String name;
   private int capacity;

   public String getName() {
      return name;
   }

   public int getCapacity() {
      return capacity;
   }

   Truc(String name, int capacity) {
      this.capacity = capacity;
      this.name = name;
   }
}
public class Task {

   public static void main(String[] args) {

      Truc truck1 = new Truc("Volvo", 20);
      Truc truck2 = new Truc("Mercedes", 22);
      Truc truck3 = new Truc("MAN", 19);
      Truc truck4 = new Truc("Volvo", 10);
      Truc truck5 = new Truc("KIA", 30);

      countCargo("Кирпичный завод ","Понедельник ",truck1, truck3, truck2, truck5, truck4);
      countCargo("Кирпичный завод ","Вторник ",truck1, truck5, truck4, truck4);
      countCargo("Кирпичный завод ","Среда ",truck5, truck1);
   }

   public static void countCargo(String pred,String day,Truc... v) {
      System.out.println(pred);
      int countViolation = 0;
      for (Truc i : v) {
         System.out.println(i.getName() + " " + i.getCapacity() + " тонн");
         countViolation = countViolation + i.getCapacity();
      }
      System.out.println(day + countViolation + " тонн");
      System.out.println("");
   }
}

Ответ:

Кирпичный завод
Volvo 20 тонн
MAN 19 тонн
Mercedes 22 тонн
KIA 30 тонн
Volvo 10 тонн
Понедельник 101 тонн

Кирпичный завод
Volvo 20 тонн
KIA 30 тонн
Volvo 10 тонн
Volvo 10 тонн
Вторник 70 тонн

Кирпичный завод
KIA 30 тонн
Volvo 20 тонн
Среда 50 тонн

Задача 178: На предприятия грузовики завозят песок. Грузовики разной грузоподъемностью совершают по разным адресам разное количество рейсов. Программа фиксирует рейсы и считает количество привезенных тонн по предприятиям.

public class Task {

   public static void main(String[] args) {

      Truc truck1 = new Truc("Volvo", 20);
      Truc truck2 = new Truc("Mercedes", 22);
      Truc truck3 = new Truc("MAN", 19);
      Truc truck4 = new Truc("Volvo", 10);
      Truc truck5 = new Truc("KIA", 30);

      countCargo("Стекольный завод, ", "Вторник ", truck2, truck4, truck4);
      countCargo("Кирпичный завод, ", "цех укладки, ", "Вторник ", truck1);
      countCargo("Кирпичный завод, ", "основной склад, ", 3, "Вторник ",
            truck3, truck5, truck4);
   }

   public static void countCargo(String pred, String day, Truc... v) {
      System.out.println(pred);
      int countViolation = 0;
      for (Truc i : v) {
         System.out.println(i.getName() + " " + i.getCapacity() + " тонн");
         countViolation = countViolation + i.getCapacity();
      }
      System.out.println(day + countViolation + " тонн");
      System.out.println("");
   }

   public static void countCargo(String pred, String point, String day,
         Truc... v) {
      System.out.println(pred + point);
      int countViolation = 0;
      for (Truc i : v) {
         System.out.println(i.getName() + " " + i.getCapacity() + " тонн");
         countViolation = countViolation + i.getCapacity();
      }
      System.out.println(day + countViolation + " тонн");
      System.out.println("");
   }

   public static void countCargo(String pred, String point, int house,
         String day, Truc... v) {
      System.out.println(pred + point + house + " корпус ");
      int countViolation = 0;
      for (Truc i : v) {
         System.out.println(i.getName() + " " + i.getCapacity() + " тонн");
         countViolation = countViolation + i.getCapacity();
      }
      System.out.println(day + countViolation + " тонн");
      System.out.println("");
   }
}
public class Truc {
   private String name;
   private int capacity;

   public String getName() {
      return name;
   }

   public int getCapacity() {
      return capacity;
   }

   Truc(String name, int capacity) {
      this.capacity = capacity;
      this.name = name;
   }
}

Ответ:

Стекольный завод,
Mercedes 22 тонн
Volvo 10 тонн
Volvo 10 тонн
Вторник 42 тонн

Кирпичный завод, цех укладки,
Volvo 20 тонн
Вторник 20 тонн

Кирпичный завод, основной склад, 3 корпус
MAN 19 тонн
KIA 30 тонн
Volvo 10 тонн
Вторник 59 тонн

Задача 179: По проселочной дороге с ограничением скорости до 60 км.ч. проезжают несколько машин в день. Программа фиксирует нарушения и считает количество нарушений за первые три дня недели.

public class Main {

   public static void main(String[] args) {
      Main.vivod("Понедельник",32, 68, 54, 23, 100);
      Main.vivod("Вторник",45, 6, 32);
      Main.vivod("Среда",79, 65, 22, 11);
   }

   public static void vivod(String week,int... v) {
      int countViolation = 0;
      int countNoViolation = 0;
      System.out.println(week);
      for (int i : v) {
         if (i > 60) {
            System.out.println(i + " нарушение ПДД");
            countViolation = countViolation + 1;
         } else {
            System.out.println(i + " нет нарушения ПДД");
            countNoViolation = countNoViolation + 1;
         }
      }
      System.out.print("без нарушений " + countNoViolation);
      System.out.println(", с нарушениями " + countViolation);
      System.out.println(" ");
   }
}

Ответ:

Понедельник
32 нет нарушения ПДД
68 нарушение ПДД
54 нет нарушения ПДД
23 нет нарушения ПДД
100 нарушение ПДД
без нарушений 3, с нарушениями 2

Вторник
45 нет нарушения ПДД
6 нет нарушения ПДД
32 нет нарушения ПДД
без нарушений 3, с нарушениями 0

Среда
79 нарушение ПДД
65 нарушение ПДД
22 нет нарушения ПДД
11 нет нарушения ПДД
без нарушений 2, с нарушениями 2

Задача 180: Камеры, находящиеся по разным адресам, фиксируют превышения скорости более 60 км.ч.

public class Main {

   public static void main(String[] args) {
      String obl1 = "Брестская обл. ";
      String town1 = "Барановичи ";
      int km1 = 7;
      String town2 = "Брест ";
      String timeOfV = "Понедельник 13. 00 - 13. 02";

      Main.vivod(obl1, town1, km1, timeOfV, 32, 68, 54, 100);
      Main.vivod(town2, timeOfV, 45, 32);
   }

   public static void vivod(String obl, String town, int km, String week,
         int... v) {
      int countViolation = 0;
      int countNoViolation = 0;
      System.out.println(week);
      System.out.println(obl + town + km + " км");
      for (int i : v) {
         if (i > 60) {
            System.out.println(i + " нарушение ПДД");
            countViolation = countViolation + 1;
         } else {
            System.out.println(i + " нет нарушения ПДД");
            countNoViolation = countNoViolation + 1;
         }
      }
      System.out.print("без нарушений " + countNoViolation);
      System.out.println(", с нарушениями " + countViolation);
      System.out.println(" ");
   }

   public static void vivod(String town, String week, int... v) {
      int countViolation = 0;
      int countNoViolation = 0;
      System.out.println(week);
      System.out.println(town);
      for (int i : v) {
         if (i > 60) {
            System.out.println(i + " нарушение ПДД");
            countViolation = countViolation + 1;
         } else {
            System.out.println(i + " нет нарушения ПДД");
            countNoViolation = countNoViolation + 1;
         }
      }
      System.out.print("без нарушений " + countNoViolation);
      System.out.println(", с нарушениями " + countViolation);
      System.out.println(" ");
   }
}

Ответ:

Понедельник 13. 00 – 13. 02
Брестская обл. Барановичи 7 км
32 нет нарушения ПДД
68 нарушение ПДД
54 нет нарушения ПДД
100 нарушение ПДД
без нарушений 2, с нарушениями 2

Понедельник 13. 00 – 13. 02
Брест
45 нет нарушения ПДД
32 нет нарушения ПДД
без нарушений 2, с нарушениями 0

Задача 181: Гарантийный пробег автомобиля 100000 км. Программа выдает сообщения о необходимости прохождения ТО.

public class Main {

   public static void main(String[] args) {
      Car car1 = new Car("BMW", 10000);// 10000 - пробег между ТО
                                          // 100000 - гарантия

      for (int i = 1; i <= 100000; i++) {
         if (i % car1.getToProbeg() == 0) {
            car1.doTo(i);
         }
      }
   }
}
public class Car {

   private String name;
   private int toProbeg;

   Car(String name, int toProbeg) {
      this.name = name;
      this.toProbeg = toProbeg;
   }

   public void doTo(int i) {
      TO cto = new TO();
      cto.to(name, i);
   }

   public int getToProbeg() {
      return toProbeg;
   }

   class TO {
      public void to(String name, int i) {
         System.out.print("Автомобиль " + name + ". ");
         System.out.println("Техническое обслуживание " + i + " км.");
      }
   }
}

Ответ:

Автомобиль BMW. Техническое обслуживание 10000 км.
Автомобиль BMW. Техническое обслуживание 20000 км.
Автомобиль BMW. Техническое обслуживание 30000 км.
Автомобиль BMW. Техническое обслуживание 40000 км.
Автомобиль BMW. Техническое обслуживание 50000 км.
Автомобиль BMW. Техническое обслуживание 60000 км.
Автомобиль BMW. Техническое обслуживание 70000 км.
Автомобиль BMW. Техническое обслуживание 80000 км.
Автомобиль BMW. Техническое обслуживание 90000 км.
Автомобиль BMW. Техническое обслуживание 100000 км.

Задача 182: Гарантийный пробег автомобиля 100000 км. Программа выдает сообщения о необходимости прохождения ТО.

public class Car {

   private String name;
   private int toProbeg;

   public int getToProbeg() {
      return toProbeg;
   }

   Car(String name, int toProbeg) {
      this.name = name;
      this.toProbeg = toProbeg;
   }

   public void doTo(int i) {
      TO cto = new TO();
      cto.to(name, i);
   }

   class TO {
      public void to(String name, int i) {
         System.out.print("Автомобиль " + name + ". ");
         System.out.println("Техническое обслуживание " + i + " км.");
      }
   }
}
public class Main {

   public static void main(String[] args) {
      Car car1 = new Car("BMW", 10000);// 10000 - пробег между ТО
                  // 100000 - гарантия

      for (int i = 1; i <= 100000; i++) {
         if (i % car1.getToProbeg() == 0) {
            car1.doTo(i);
         }
      }
   }
}

Ответ:

Автомобиль BMW. Техническое обслуживание 10000 км.
Автомобиль BMW. Техническое обслуживание 20000 км.
Автомобиль BMW. Техническое обслуживание 30000 км.
Автомобиль BMW. Техническое обслуживание 40000 км.
Автомобиль BMW. Техническое обслуживание 50000 км.
Автомобиль BMW. Техническое обслуживание 60000 км.
Автомобиль BMW. Техническое обслуживание 70000 км.
Автомобиль BMW. Техническое обслуживание 80000 км.
Автомобиль BMW. Техническое обслуживание 90000 км.
Автомобиль BMW. Техническое обслуживание 100000 км.

Задача 183: Введите оценку студенту. Программа выдает сообщение о прохождении экзамена.

public class Stud {
   private String name;
   private int mark;

   public Stud(String name, int mark) {
      this.name = name;
      this.mark = mark;
   }

   public void doGratters() {
      Gratters gratter1 = new Gratters();
      gratter1.gratter();
   }

   public class Gratters {
      int marks = mark;

      public void gratter() {
         switch (marks) {
         case 1:
            System.out.println("Ужастно " + name);
            break;
         case 2:
            System.out.println("Плохо " + name);
            break;
         case 3:
            System.out.println("Нормально " + name);
            break;
         case 4:
            System.out.println("Хорошо " + name);
            break;
         case 5:
            System.out.println("Отлично " + name);
            break;
         default:
            System.out.println("Непонятная оценка");
            break;
         
      }
   }
}
import java.util.Scanner;

public class Exam {

   public static void main(String[] args) {

      System.out.println("Введите оценку студенту по 5 бальной шкале.");
      System.out.println("Введите число:");
      Scanner sc = new Scanner(System.in);
      int mark = sc.nextInt();
      Stud student1 = new Stud("Петя", mark);
      sc.close();
      student1.doGratters();
   }
}

Возможный ответ:

Программа выводит:
Введите оценку студенту по 5 бальной шкале.

Пользователь вводит число 3.

Программа выводит:
Нормально Петя

Задача 184: Гарантийный пробег автомобиля 100000 км. Программа выдает сообщения о необходимости прохождения и размере ТО.

public class Car {

   private String name;

   Car(String name) {
      this.name = name;
   }

   public void doTo(int i) {
      TO cto = new TO();
      cto.to(name, i);
   }

   class TO {
      public void to(String name, int i) {
         if (i == 40000 || i == 80000) {
            System.out.print("Автомобиль " + name + ". ");
            System.out.println("Большое ТО " + i + " км.");
         } else if (i == 20000 || i == 60000 || i == 100000) {
            System.out.print("Автомобиль " + name + ". ");
            System.out.println("Среднее ТО " + i + " км.");
         } else if (i == 10000 || i == 30000 || i == 50000 || i == 70000
               || i == 90000) {
            System.out.print("Автомобиль " + name + ". ");
            System.out.println("Малое ТО " + i + " км.");
         }
      }
   }
}
public class Main {

   public static void main(String[] args) {
      Car car1 = new Car("BMW");

      for (int i = 1; i <= 100000; i++) {
         car1.doTo(i);
      }
   }
}

Ответ:

Автомобиль BMW. Малое ТО 10000 км.
Автомобиль BMW. Среднее ТО 20000 км.
Автомобиль BMW. Малое ТО 30000 км.
Автомобиль BMW. Большое ТО 40000 км.
Автомобиль BMW. Малое ТО 50000 км.
Автомобиль BMW. Среднее ТО 60000 км.
Автомобиль BMW. Малое ТО 70000 км.
Автомобиль BMW. Большое ТО 80000 км.
Автомобиль BMW. Малое ТО 90000 км.
Автомобиль BMW. Среднее ТО 100000 км.

Задача 185: Гарантийный пробег автомобиля 100000 км. Программа выдает сообщения о необходимости прохождения и размере ТО.

public class Main {

   public static void main(String[] args) {
      Car car1 = new Car("BMW");

      for (int i = 1; i <= 100000; i++) {
         car1.doTo(i);
      }
   }
}
public class Car {

   private String name;

   Car(String name) {
      this.name = name;
   }

   public void doTo(int i) {
      TO cto = new TO();
      cto.to(name, i);
   }

   class TO {
      public void to(String name, int i) {
         if (i == 40000 || i == 80000) {
            System.out.print("Автомобиль " + name + ". ");
            System.out.println("Большое ТО " + i + " км.");
         } else if (i == 20000 || i == 60000 || i == 100000) {
            System.out.print("Автомобиль " + name + ". ");
            System.out.println("Среднее ТО " + i + " км.");
         } else if (i == 10000 || i == 30000 || i == 50000 || i == 70000
               || i == 90000) {
            System.out.print("Автомобиль " + name + ". ");
            System.out.println("Малое ТО " + i + " км.");
         }
      }
   }
}

Ответ:

Автомобиль BMW. Малое ТО 10000 км.
Автомобиль BMW. Среднее ТО 20000 км.
Автомобиль BMW. Малое ТО 30000 км.
Автомобиль BMW. Большое ТО 40000 км.
Автомобиль BMW. Малое ТО 50000 км.
Автомобиль BMW. Среднее ТО 60000 км.
Автомобиль BMW. Малое ТО 70000 км.
Автомобиль BMW. Большое ТО 80000 км.
Автомобиль BMW. Малое ТО 90000 км.
Автомобиль BMW. Среднее ТО 100000 км.

Задача 186: Программа выдает сообщение о названии и имени животного, о звуках, издаваемых животным, о его весе и росте.

public class Main {

   public static void main(String[] args) {
      Cat cat1 = new Cat();
      cat1.setWeight(3);
      cat1.setHeight(30);
      cat1.setName("Кошка-Мурка");
      cat1.makeSound();
      cat1.eat();
      System.out.println("Вес " + cat1.getWeight() + " кг.");
      System.out.println("Рост " + cat1.getHeight() + " см.");
   }
}
public class Anim {

   private int weight;
   private int height;

   public int getHeight() {
      return height;
   }

   public void setHeight(int height) {
      this.height = height;
   }

   public int getWeight() {
      return weight;
   }

   public void setWeight(int weight) {
      this.weight = weight;
   }

   public void eat() {
      System.out.println("Ням-ням");
   }
}
public class Cat extends Anim {
   private String name;

   public void setName(String name) {
      this.name = name;
   }

   public void makeSound() {
      System.out.println(name + " Мур-мур");
   }
}

Ответ:

Кошка-Мурка Мур-мур
Ням-ням
Вес 3 кг.
Рост 30 см.

Задача 187: Программа выдает сообщение о названии и имени животного, о звуках, издаваемых животным, о его весе и росте.

public class Anim {

   private int weight;
   private int height;

   public int getHeight() {
      return height;
   }

   public void setHeight(int height) {
      this.height = height;
   }

   public int getWeight() {
      return weight;
   }

   public void setWeight(int weight) {
      this.weight = weight;
   }

   public void eat() {
      System.out.println("Ням-ням");
   }
}
public class Main {

   public static void main(String[] args) {
      Cat cat1 = new Cat();
      cat1.setWeight(3);
      cat1.setHeight(30);
      cat1.setName("Кошка-Мурка");
      cat1.makeSound();
      cat1.eat();
      System.out.println("Вес " + cat1.getWeight() + " кг.");
      System.out.println("Рост " + cat1.getHeight() + " см.");
   }
}
public class Cat extends Anim {
   private String name;

   public void setName(String name) {
      this.name = name;
   }

   public void makeSound() {
      System.out.println(name + " Мур-мур");
   }
}

Ответ:

Кошка-Мурка Мур-мур
Ням-ням
Вес 3 кг.
Рост 30 см.

Задача 188: Программа выдает сообщение о названии и имени животного, о звуках, издаваемых животным, о его весе и росте.

public class Cat extends Anim {
   private String name;

   public void setName(String name) {
      this.name = name;
   }

   public void makeSound() {
      System.out.println(name + " Мур-мур");
   }
}
public class Main {

   public static void main(String[] args) {
      Cat cat1 = new Cat();
      cat1.setWeight(3);
      cat1.setHeight(30);
      cat1.setName("Кошка-Мурка");
      cat1.makeSound();
      cat1.eat();
      System.out.println("Вес " + cat1.getWeight() + " кг.");
      System.out.println("Рост " + cat1.getHeight() + " см.");
   }
}
public class Anim {

   private int weight;
   private int height;

   public int getHeight() {
      return height;
   }

   public void setHeight(int height) {
      this.height = height;
   }

   public int getWeight() {
      return weight;
   }

   public void setWeight(int weight) {
      this.weight = weight;
   }

   public void eat() {
      System.out.println("Ням-ням");
   }
}

Ответ:

Кошка-Мурка Мур-мур
Ням-ням
Вес 3 кг.
Рост 30 см.

Задача 189: Программа выдает сообщение о названии машины, её весе и об её особенностях.

public class Mash {

   private int weight;
   private String name;

   public int getWeight() {
      return weight;
   }

   public void setWeight(int weight) {
      this.weight = weight;
   }

   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }

   public static void main(String[] args) {

      Car car1 = new Car();
      car1.setName("BMW");
      car1.setWeight(2000);
      car1.setPassanger(4);

      Tank car2 = new Tank();
      car2.setName("T-34");
      car2.setWeight(34000);
      car2.setMainGun(85);

      System.out.println(car1.getName() + ", " + car1.getWeight() + " кг.");
      car1.makeSound();
      System.out.println("");

      System.out.println(car2.getName() + ", " + car2.getWeight() + " кг.");
      car2.shot();
   }
}
public class Tank extends Mash {

   private int mainGun;

   public int getMainGun() {
      return mainGun;
   }

   public void setMainGun(int mainGun) {
      this.mainGun = mainGun;
   }

   public void shot() {
      System.out.println("Бум-бум, калибр " + mainGun + " мм.");
   }
}
public class Car extends Mash {

   private int passanger;

   public void makeSound() {
      System.out.println("Би-Бип, пассажиры " + passanger + " чел.");
   }

   public int getPassanger() {
      return passanger;
   }

   public void setPassanger(int passanger) {
      this.passanger = passanger;
   }
}

Ответ:

BMW, 2000 кг.
Би-Бип, пассажиры 4 чел.

T-34, 34000 кг.
Бум-бум, калибр 85 мм.

Введите свой email адрес для того, чтобы подписаться на мой блог:


knopkisoc

Примеры на Java (часть 7): 1 комментарий

Добавить комментарий