java примеры

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

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

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

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

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

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

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

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

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

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

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

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

Задача 250: Король Артур и Ричард соревнуются, кто быстрее наденет доспехи.

// Артур и Ричард одевают доспехи на скорость
public class King implements Runnable {

   static String strokaSbor = " надел доспехи за ";
   Thread t;
   String name;

   King(String name) {
      this.name = name;
      t = new Thread(this);
      t.start();
   }

   public void run() {
      int t = intTime();
      try {
         Thread.sleep(t * 50);
      } catch (InterruptedException e) {
         System.out.println("Прерывание");
      }
      System.out.println("Король " + name + strokaSbor + t + " минут");
   }

   private int intTime() {
      int g = (int) (Math.random() * 10) + 10;
      return g;
   }
}
// Артур и Ричард одевают доспехи на скорость
public class Main {
   public static void main(String[] args) throws InterruptedException {

      String winner = "";
      King king1 = new King("Артур");
      King king2 = new King("Ричард");

      king1.t.join();
      if (king2.t.isAlive()) {
         winner = king1.name;
      } else {
         winner = king2.name;
      }
      king2.t.join();
      System.out.println("Король " + winner + " победил");
   }
}

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

Король Ричард надел доспехи за 14 минут
Король Артур надел доспехи за 17 минут
Король Ричард победил

Задача 251: Три покупателя сделали одновременно заказ в одном интернет-магазине. Магазин не был синхронизирован, в результате, никто не разобрал кто и что заказал. Покупатели одновременно повторили заказ в другом интернет-магазине, на этот раз заказы были точны.

public class Man {
   String name;
   int age;
   String shop;
   String order[];

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

   public void setOrder(String... str) {
      this.order = str;
   }

   public static void main(String[] args) throws InterruptedException {
      String stroka = "Клиенты сделали повторный заказ";
      Cash cash = new Cash();
      Man order1 = new Man("Петр", 35, "badGayes");
      order1.setOrder("Виски", "Стейк");
      Man order2 = new Man("Оля", 13, "badGayes");
      order2.setOrder("Чизбургер", "Кола");
      Man order3 = new Man("Настя", 25, "badGayes");
      order3.setOrder("Салат", "Чай", "Сигареты");

      Bar bar1 = new Bar(order1, cash);
      bar1.t.join();
      Bar bar2 = new Bar(order2, cash);
      bar2.t.join();
      Bar bar3 = new Bar(order3, cash);
      bar3.t.join();

      System.out.println(stroka);
      System.out.println( );
      Man order4 = new Man("Петр", 35, "goodGayes.com");
      order4.setOrder("Виски", "Стейк");
      Man order5 = new Man("Оля", 13, "goodGayes.com");
      order5.setOrder("Чизбургер", "Кола");
      Man order6 = new Man("Настя", 25, "goodGayes.com");
      order6.setOrder("Салат", "Чай", "Сигареты");

      Bar bar4 = new Bar(order4, cash);
      bar4.t.join();
      Bar bar5 = new Bar(order5, cash);
      bar5.t.join();
      Bar bar6 = new Bar(order6, cash);
      bar6.t.join();
   }
}
public class Cash {

   public void orderCl(Man client) {
      orders(client);
   }

   public synchronized void orderClNew(Man client) {
      orders(client);
   }

   public void orders(Man client) {
      System.out.println(client.name + " " + client.age + " лет");
      System.out.print("Заказ ");
      for (String ord : client.order) {
         System.out.print(ord + " ");
      }
      System.out.println(" ");
      System.out.println(" ");
   }
}
public class Bar implements Runnable {
   Thread t;
   Man client;
   Cash cashBox;

   Bar(Man client, Cash cashBox) {
      this.client = client;
      this.cashBox = cashBox;
      t = new Thread(this);
      t.start();
   }

   public void run() {
      if (client.shop.equals("badGayes")) {
         cashBox.orderCl(client);
      } else {
         cashBox.orderClNew(client);
      }
   }
}

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

Петр 35 лет
Настя 25 лет
Заказ Салат Чай Сигареты

Оля 13 лет
Заказ Чизбургер Кола

Заказ Виски Стейк

Клиенты сделали повторный заказ

Петр 35 лет
Заказ Виски Стейк

Оля 13 лет
Заказ Чизбургер Кола

Настя 25 лет
Заказ Салат Чай Сигареты

Задача 252: Три покупателя сделали одновременно заказ в одном интернет-магазине. Магазин не был синхронизирован, в результате, никто не разобрал кто и что заказал. Покупатели одновременно повторили заказ в другом интернет-магазине, на этот раз заказы были точны.

public class Cash {

   public void orderCl(Man client) {
      orders(client);
   }

   public synchronized void orderClNew(Man client) {
      orders(client);
   }

   public void orders(Man client) {
      System.out.println(client.name + " " + client.age + " лет");
      System.out.print("Заказ ");
      for (String ord : client.order) {
         System.out.print(ord + " ");
      }
      System.out.println(" ");
      System.out.println(" ");
   }
}
public class Man {
   String name;
   int age;
   String shop;
   String order[];

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

   public void setOrder(String... str) {
      this.order = str;
   }

   public static void main(String[] args) throws InterruptedException {
      String stroka = "Клиенты сделали повторный заказ";
      Cash cash = new Cash();
      Man order1 = new Man("Петр", 35, "badGayes");
      order1.setOrder("Виски", "Стейк");
      Man order2 = new Man("Оля", 13, "badGayes");
      order2.setOrder("Чизбургер", "Кола");
      Man order3 = new Man("Настя", 25, "badGayes");
      order3.setOrder("Салат", "Чай", "Сигареты");

      Bar bar1 = new Bar(order1, cash);
      Bar bar2 = new Bar(order2, cash);
      Bar bar3 = new Bar(order3, cash);

      bar1.t.join();
      bar2.t.join();
      bar3.t.join();

      System.out.println(stroka);
      System.out.println(" ");
      Man order4 = new Man("Петр", 35, "goodGayes.com");
      order4.setOrder("Виски", "Стейк");
      Man order5 = new Man("Оля", 13, "goodGayes.com");
      order5.setOrder("Чизбургер", "Кола");
      Man order6 = new Man("Настя", 25, "goodGayes.com");
      order6.setOrder("Салат", "Чай", "Сигареты");

      Bar bar4 = new Bar(order4, cash);
      Bar bar5 = new Bar(order5, cash);
      Bar bar6 = new Bar(order6, cash);

      bar4.t.join();
      bar5.t.join();
      bar6.t.join();
   }
}
public class Bar implements Runnable {
   Thread t;
   Man client;
   Cash cashBox;

   Bar(Man client, Cash cashBox) {
      this.client = client;
      this.cashBox = cashBox;
      t = new Thread(this);
      t.start();
   }

   public void run() {
      if (client.shop.equals("badGayes")) {
         cashBox.orderCl(client);
      } else {
         cashBox.orderClNew(client);
      }
   }
}

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

Петр 35 лет
Настя 25 лет
Заказ Салат Чай Сигареты

Оля 13 лет
Заказ Чизбургер Кола

Заказ Виски Стейк

Клиенты сделали повторный заказ

Петр 35 лет
Заказ Виски Стейк

Оля 13 лет
Заказ Чизбургер Кола

Настя 25 лет
Заказ Салат Чай Сигареты

Задача 253: Три покупателя сделали одновременно заказ в одном интернет-магазине. Магазин не был синхронизирован, в результате, никто не разобрал кто и что заказал. Покупатели одновременно повторили заказ в другом интернет-магазине, на этот раз заказы были точны.

public class Bar implements Runnable {
   Thread t;
   Man client;
   Cash cashBox;

   Bar(Man client, Cash cashBox) {
      this.client = client;
      this.cashBox = cashBox;
      t = new Thread(this);
      t.start();
   }

   public void run() {
      if (client.shop.equals("badGayes")) {
         cashBox.orderCl(client);
      } else {
         cashBox.orderClNew(client);
      }
   }
}
public class Man {
   String name;
   int age;
   String shop;
   String order[];

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

   public void setOrder(String... str) {
      this.order = str;
   }

   public static void main(String[] args) throws InterruptedException {
      String stroka = "Клиенты сделали повторный заказ";
      Cash cash = new Cash();
      Man order1 = new Man("Петр", 35, "badGayes");
      order1.setOrder("Виски", "Стейк");
      Man order2 = new Man("Оля", 13, "badGayes");
      order2.setOrder("Чизбургер", "Кола");
      Man order3 = new Man("Настя", 25, "badGayes");
      order3.setOrder("Салат", "Чай", "Сигареты");

      Bar bar1 = new Bar(order1, cash);
      Bar bar2 = new Bar(order2, cash);
      Bar bar3 = new Bar(order3, cash);

      bar1.t.join();
      bar2.t.join();
      bar3.t.join();

      System.out.println(stroka);
      System.out.println(" ");
      Man order4 = new Man("Петр", 35, "goodGayes.com");
      order4.setOrder("Виски", "Стейк");
      Man order5 = new Man("Оля", 13, "goodGayes.com");
      order5.setOrder("Чизбургер", "Кола");
      Man order6 = new Man("Настя", 25, "goodGayes.com");
      order6.setOrder("Салат", "Чай", "Сигареты");

      Bar bar4 = new Bar(order4, cash);
      Bar bar5 = new Bar(order5, cash);
      Bar bar6 = new Bar(order6, cash);

      bar4.t.join();
      bar5.t.join();
      bar6.t.join();
   }
}
public class Cash {

   public void orderCl(Man client) {
      orders(client);
   }

   public synchronized void orderClNew(Man client) {
      orders(client);
   }

   public void orders(Man client) {
      System.out.println(client.name + " " + client.age + " лет");
      System.out.print("Заказ ");
      for (String ord : client.order) {
         System.out.print(ord + " ");
      }
      System.out.println(" ");
      System.out.println(" ");
   }
}

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

Петр 35 лет
Настя 25 лет
Заказ Салат Чай Сигареты

Оля 13 лет
Заказ Чизбургер Кола

Заказ Виски Стейк

Клиенты сделали повторный заказ

Петр 35 лет
Заказ Виски Стейк

Оля 13 лет
Заказ Чизбургер Кола

Настя 25 лет
Заказ Салат Чай Сигареты

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

public class Call {
   public synchronized void calls(String msg) {
      System.out.print(" +375 -29 -");
      System.out.print(msg);
      System.out.println(" mts");
   }

   public void call(String msg) {
      System.out.print(" +375 -29 -");
      System.out.print(msg);
      System.out.println(" mts");
   }

   public static void main(String[] args) throws InterruptedException {
      boolean synchron = true;

      Call target = new Call();
      Caller caller1 = new Caller("556 -54 -89", target, synchron);
      Caller caller2 = new Caller("665 -84 -55", target, synchron);
      Caller caller3 = new Caller("654 -88 -88", target, synchron);
      caller1.t.join();
      caller2.t.join();
      caller3.t.join();
      System.out.println(" ");

      synchron = false;

      Caller caller4 = new Caller("556 -54 -89", target, synchron);
      Caller caller5 = new Caller("665 -84 -55", target, synchron);
      Caller caller6 = new Caller("654 -88 -88", target, synchron);
      caller4.t.join();
      caller5.t.join();
      caller6.t.join();
   }
}
public class Caller implements Runnable {
   Thread t;
   String msg;
   Call target;
   boolean synchron;

   Caller(String msg, Call target, boolean synchron) {
      this.msg = msg;
      this.target = target;
      this.synchron = synchron;
      t = new Thread(this);
      t.start();
   }

   public void run() {
      if (synchron) {
         target.call(msg);
      } else {
         target.calls(msg);
      }
   }
}

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

+375 -29 -665 -84 -55 +375 -29 -556 -54 -89 mts
mts
+375 -29 -654 -88 -88 mts

+375 -29 -556 -54 -89 mts
+375 -29 -665 -84 -55 mts
+375 -29 -654 -88 -88 mts

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

public class Caller implements Runnable {
   Thread t;
   String msg;
   Call target;
   boolean synchron;

   Caller(String msg, Call target, boolean synchron) {
      this.msg = msg;
      this.target = target;
      this.synchron = synchron;
      t = new Thread(this);
      t.start();
   }

   public void run() {
      if (synchron) {
         target.call(msg);
      } else {
         target.calls(msg);
      }
   }
}
public class Call {
   public synchronized void calls(String msg) {
      System.out.print(" +375 -29 -");
      System.out.print(msg);
      System.out.println(" mts");
   }

   public void call(String msg) {
      System.out.print(" +375 -29 -");
      System.out.print(msg);
      System.out.println(" mts");
   }

   public static void main(String[] args) throws InterruptedException {
      boolean synchron = true;

      Call target = new Call();
      Caller caller1 = new Caller("556 -54 -89", target, synchron);
      Caller caller2 = new Caller("665 -84 -55", target, synchron);
      Caller caller3 = new Caller("654 -88 -88", target, synchron);
      caller1.t.join();
      caller2.t.join();
      caller3.t.join();
      System.out.println(" ");

      synchron = false;

      Caller caller4 = new Caller("556 -54 -89", target, synchron);
      Caller caller5 = new Caller("665 -84 -55", target, synchron);
      Caller caller6 = new Caller("654 -88 -88", target, synchron);
      caller4.t.join();
      caller5.t.join();
      caller6.t.join();
   }
}

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

+375 -29 -665 -84 -55 +375 -29 -556 -54 -89 mts
mts
+375-29-654-88-88 mts

+375 -29 -556 -54 -89 mts
+375 -29 -665 -84 -55 mts
+375 -29 -654 -88 -88 mts

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

public class Gds {

   String name;
   int price;
   Type t;

   Gds(String name, int price, Type t) {
      this.name = name;
      this.price = price;
      this.t = t;
   }

   public static void main(String[] args) {
      Gds[] goods = new Gds[5];
      goods[0] = new Gds("Стул", 2000, Type.ForChildren);
      goods[1] = new Gds("Стул", 1300, Type.Furniture);
      goods[2] = new Gds("Коврик", 2800, Type.ProductsForAuto);
      goods[3] = new Gds("Коврик", 4500, Type.House);
      goods[4] = new Gds("Платье", 3890, Type.Сlothes);
      for (int i = 0; i < 5; i++) {
         System.out.print(goods[i].name + ", цена: " + goods[i].price);
         System.out.println(" руб. Отдел " + goods[i].t + ".");
      }
   }
}
public enum Type {
   Food, ProductsForAuto, Cars, Toys, House, Garlen,
   Sport, Helth, Medicine, Furniture, ForMoms, Video,
    ForChildren, ProductsForConstruction, Сlothes, Other
}

Ответ:

Стул, цена: 2000 руб. Отдел ForChildren.
Стул, цена: 1300 руб. Отдел Furniture.
Коврик, цена: 2800 руб. Отдел ProductsForAuto.
Коврик, цена: 4500 руб. Отдел House.
Платье, цена: 3890 руб. Отдел Сlothes.

Задача 257: Программа выводит статус пользователя, его имя и город проживания.

public class User {
   String name;
   Area region;
   Type t;

   User(String name, Area region, Type t) {
      this.name = name;
      this.region = region;
      this.t = t;
   }

   public static void main(String[] args) {
      User[] user = new User[5];
      user[0] = new User("Маша", Area.Minsk, Type.NormalUser);
      user[1] = new User("Валик", Area.Magadan, Type.Admin);
      user[2] = new User("Тома", Area.Voronezh, Type.Moderator);
      user[3] = new User("Паша", Area.Odessa, Type.ExperiencedUser);
      user[4] = new User("Груня", Area.Other, Type.Beginner);
      for (int i = 0; i < 5; i++) {
         System.out.print(user[i].t + " " + user[i].name);
         System.out.println(" " + user[i].region);
      }
   }
}
[ php]

         
1
public enum Area {
   Moscow, Minsk, Kiev, Odessa, Voronezh, Magadan, Other
}
public enum Type {
   Beginner, NormalUser, ExperiencedUser, Moderator, Admin
}

Ответ:

NormalUser Маша Minsk
Admin Валик Magadan
Moderator Тома Voronezh
ExperiencedUser Паша Odessa
Beginner Груня Other

Задача 258: Программа выводит сорт сливы и вид.

public class Plum {

   Name name;
   Typ types;

   public static void main(String[] args) {
      Plum plum1 = new Plum();
      plum1.name = Name.AnnaSpath;
      plum1.types = Typ.Purple;

      Plum plum2 = new Plum();
      plum2.name = Name.BlueBird;
      plum2.types = Typ.Ripening;

      Plum plum3 = new Plum();
      plum3.name = Name.Alexis;
      plum3.types = Typ.Yellow;

      System.out.println("Слива " + plum1.name + " вид " + plum1.types);
      System.out.println("Слива " + plum2.name + " вид " + plum2.types);
      System.out.println("Слива " + plum3.name + " вид " + plum3.types);
   }
}
public enum Name {
   Akimov, Alexis, BlueBird, AnnaSpath, Stanley
}
public enum Typ {
   Yellow, Ripening, Blue, WinterGrade, Purple
}

Ответ:

Слива AnnaSpath вид Purple
Слива BlueBird вид Ripening
Слива Alexis вид Yellow

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

public class Gds {

   String name;
   int price;
   Type t;

   Gds(String name, int price, Type t) {
      this.name = name;
      this.price = price;
      this.t = t;
   }

   public String toString() {
      String str = name + ", цена: " + price + " руб. Отдел " + t + ".";
      return str;
   }

   public static void main(String[] args) {

      Gds goods1 = new Gds("Стул", 2000, Type.ForChildren);
      Gds goods2 = new Gds("Коврик", 4500, Type.House);
      Gds goods3 = new Gds("Платье", 3890, Type.Сlothes);
      System.out.println(goods1.toString());
      System.out.println(goods2.toString());
      System.out.println(goods3.toString());
   }
}
public enum Type {
   Food, ProductsForAuto, Cars, Toys, House, Garlen,
   Sport, Helth, Medicine, Furniture, ForMoms, Video,
    ForChildren, ProductsForConstruction, Сlothes, Other
}

Ответ:

Стул, цена: 2000 руб. Отдел ForChildren.
Коврик, цена: 4500 руб. Отдел House.
Платье, цена: 3890 руб. Отдел Сlothes.

Задача 260: Программа выводит статус пользователя, его имя и город проживания, потом меняет статус или место проживания пользователя и снова выводит.

public class User {
   String name;
   Area region;
   Type t;

   User(String name, Area region, Type t) {
      this.name = name;
      this.region = region;
      this.t = t;
   }

   public void printUser() {
      System.out.println(this.t + " " + this.name + " " + this.region);
   }

   public static void main(String[] args) {

      User user1 = new User("Маша", Area.Minsk, Type.NormalUser);
      user1.printUser();
      user1.t = Type.ExperiencedUser;
      user1.printUser();
      user1.t = Type.Admin;
      user1.printUser();
      user1.region = Area.Moscow;
      user1.printUser();
   }
}
public enum Area {
   Moscow, Minsk, Kiev, Odessa, Voronezh, Magadan, Other
}
public enum Type {
   Beginner, NormalUser, ExperiencedUser, Moderator, Admin
}

Ответ:

NormalUser Маша Minsk
ExperiencedUser Маша Minsk
Admin Маша Minsk
Admin Маша Moscow

Задача 261: Программа выводит название товара, его цену и отдел, потом меняет отдел у товара и выводит список отделов в магазине.

public class Gds {

   String name;
   int price;
   Type t;

   Gds(String name, int price, Type t) {
      this.name = name;
      this.price = price;
      this.t = t;
   }

   public static void main(String[] args) {
      Type typ;
      typ = Type.valueOf("Furniture");

      Gds gds1 = new Gds("Стул", 2000, Type.ForChildren);
      System.out.println(gds1.name + ", " + gds1.price + " р. " + gds1.t);
      gds1.t = typ;
      System.out.println(gds1.name + ", " + gds1.price + " р. " + gds1.t);

      Type typesOfGoods[] = Type.values();
      for (Type t : typesOfGoods) {
         System.out.println(t);
      }
   }
}
public enum Type {
   Food, ProductsForAuto, Cars, Toys, House, Garlen,
   Sport, Helth, Medicine, Furniture, ForMoms, Video,
   ForChildren, ProductsForConstruction, Сlothes, Other
}

Ответ:

Стул, 2000 р. ForChildren
Стул, 2000 р. Furniture
Food
ProductsForAuto
Cars
Toys
House
Garlen
Sport
Helth
Medicine
Furniture
ForMoms
Video
ForChildren
ProductsForConstruction
Сlothes
Other

Задача 262: Программа выводит сорт сливы и её вид, потом и сорт и вид. Потом программа выводит список сортов слив и все виды слив.

public class Plum {

   Name name;
   Type types;

   public static void main(String[] args) {
      Plum plum1 = new Plum();
      plum1.name = Name.AnnaSpath;
      plum1.types = Type.Purple;
      System.out.println("Слива " + plum1.name + " вид " + plum1.types);
      plum1.name = Name.valueOf("Stanley");
      plum1.types = Type.Yellow;
      System.out.println("Слива " + plum1.name + " вид " + plum1.types);
      System.out.println(" ");

      for (Name n : Name.values()) {
         System.out.println(n);
      }
      System.out.println(" ");
      for (Type t : Type.values()) {
         System.out.println(t);
      }
   }
}
public enum Name {
   Akimov, Alexis, BlueBird, AnnaSpath, Stanley
}
public enum Type {
   Yellow, Ripening, Blue, WinterGrade, Purple
}

Ответ:

Слива AnnaSpath вид Purple
Слива Stanley вид Yellow

Akimov
Alexis
BlueBird
AnnaSpath
Stanley

Yellow
Ripening
Blue
WinterGrade
Purple

Задача 263: Программа выводит статус пользователя, его имя и город. Потом программа выводит список городов со странами и список возможных статусов пользователя с минимальными рейтингами для достижения этого статуса.

public class User {
   String name;
   Area region;
   Type t;

   User(String name, Area region, Type t) {
      this.name = name;
      this.region = region;
      this.t = t;
   }

   public static void main(String[] args) {
      User user1 = new User("Маша", Area.Minsk, Type.NormalUser);
      System.out.println(user1.t + " " + user1.name + " " + user1.region);
      System.out.println(" ");
      for (Area a : Area.values()) {
         System.out.println(a + " " + a.getCountry());
      }
      System.out.println(" ");
      for (Type t : Type.values()) {
         System.out.println(t + " минимальный рейтинг " + t.getReiting());
      }
   }
}
public enum Area {
   Moscow("Россия"), Minsk("Беларусь"), Kiev("Украина"), Odessa("Украина"),
   Voronezh("Россия"), Magadan("Россия"), Other("");
   private String country;

   Area(String country) {
      this.country = country;
   }

   public String getCountry() {
      return country;
   }
}
public enum Type {
   Beginner(0), NormalUser(10), ExperiencedUser(20), Moderator(50), Admin(100);

   private int reiting;

   Type(int reiting) {
      this.reiting = reiting;
   }

   public int getReiting() {
      return reiting;
   }
}

Ответ:

NormalUser Маша Minsk

Moscow Россия
Minsk Беларусь
Kiev Украина
Odessa Украина
Voronezh Россия
Magadan Россия
Other

Beginner минимальный рейтинг 0
NormalUser минимальный рейтинг 10
ExperiencedUser минимальный рейтинг 20
Moderator минимальный рейтинг 50
Admin минимальный рейтинг 100

Задача 264: Программа выводит статус пользователя, его имя и город. Потом программа выводит список городов со странами и список возможных статусов пользователя с минимальными рейтингами для достижения этого статуса.

public enum Area {
   Moscow("Россия"), Minsk("Беларусь"), Kiev("Украина"), Odessa("Украина"),
   Voronezh("Россия"), Magadan("Россия"), Other("");
   private String country;

   Area(String country) {
      this.country = country;
   }

   public String getCountry() {
      return country;
   }
}
public class User {
   String name;
   Area region;
   Type t;

   User(String name, Area region, Type t) {
      this.name = name;
      this.region = region;
      this.t = t;
   }

   public static void main(String[] args) {
      User user1 = new User("Маша", Area.Minsk, Type.NormalUser);
      System.out.println(user1.t + " " + user1.name + " " + user1.region);
      System.out.println(" ");
      for (Area a : Area.values()) {
         System.out.println(a + " " + a.getCountry());
      }
      System.out.println(" ");
      for (Type t : Type.values()) {
         System.out.println(t + " минимальный рейтинг " + t.getReiting());
      }
   }
}
public enum Type {
   Beginner(0), NormalUser(10), ExperiencedUser(20), Moderator(50), Admin(100);

   private int reiting;

   Type(int reiting) {
      this.reiting = reiting;
   }

   public int getReiting() {
      return reiting;
   }
}

Ответ:

NormalUser Маша Minsk

Moscow Россия
Minsk Беларусь
Kiev Украина
Odessa Украина
Voronezh Россия
Magadan Россия
Other

Beginner минимальный рейтинг 0
NormalUser минимальный рейтинг 10
ExperiencedUser минимальный рейтинг 20
Moderator минимальный рейтинг 50
Admin минимальный рейтинг 100

Задача 265: Программа выводит статус пользователя, его имя и город. Потом программа выводит список городов со странами и список возможных статусов пользователя с минимальными рейтингами для достижения этого статуса.

public enum Type {
   Beginner(0), NormalUser(10), ExperiencedUser(20), Moderator(50), Admin(100);

   private int reiting;

   Type(int reiting) {
      this.reiting = reiting;
   }

   public int getReiting() {
      return reiting;
   }
}
public class User {
   String name;
   Area region;
   Type t;

   User(String name, Area region, Type t) {
      this.name = name;
      this.region = region;
      this.t = t;
   }

   public static void main(String[] args) {
      User user1 = new User("Маша", Area.Minsk, Type.NormalUser);
      System.out.println(user1.t + " " + user1.name + " " + user1.region);
      System.out.println(" ");
      for (Area a : Area.values()) {
         System.out.println(a + " " + a.getCountry());
      }
      System.out.println(" ");
      for (Type t : Type.values()) {
         System.out.println(t + " минимальный рейтинг " + t.getReiting());
      }
   }
}
public enum Area {
   Moscow("Россия"), Minsk("Беларусь"), Kiev("Украина"), Odessa("Украина"),
    Voronezh("Россия"), Magadan("Россия"), Other("");
   private String country;

   Area(String country) {
      this.country = country;
   }

   public String getCountry() {
      return country;
   }
}

Ответ:

NormalUser Маша Minsk

Moscow Россия
Minsk Беларусь
Kiev Украина
Odessa Украина
Voronezh Россия
Magadan Россия
Other

Beginner минимальный рейтинг 0
NormalUser минимальный рейтинг 10
ExperiencedUser минимальный рейтинг 20
Moderator минимальный рейтинг 50
Admin минимальный рейтинг 100

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

public class Gds {
   String name;
   int price;
   Type t;
   Gds(String name, int price, Type t) {
      this.name = name;
      this.price = price;
      this.t = t;
   }
   public String toString() {
      String str = name + ", цена: " + price + " руб. Отдел " + t + ". ";
      return str;
   }
   public static void main(String[] args) {
      Gds goods1 = new Gds("Стул", 2000, Type.ForChildren);
      Gds goods2 = new Gds("Коврик", 4500, Type.House);
      Gds goods3 = new Gds("Платье", 3890, Type.Сlothes);

      System.out.print(goods1.toString());
      System.out.println("Отдел №" + goods1.t.ordinal());
      System.out.print(goods2.toString());
      System.out.println("Отдел №" + goods2.t.ordinal());
      System.out.print(goods3.toString());
      System.out.println("Отдел №" + goods3.t.ordinal());
   }
}
public enum Type {
   Food, ProductsForAuto, Cars, Toys, House, Garlen,
   Sport, Helth, Medicine, Furniture, ForMoms, Video,
   ForChildren, ProductsForConstruction, Сlothes, Other
}

Ответ:

Стул, цена: 2000 руб. Отдел ForChildren. Отдел №12
Коврик, цена: 4500 руб. Отдел House. Отдел №4
Платье, цена: 3890 руб. Отдел Сlothes. Отдел №14

Задача 267: Программа сравнивает: у кого выше звание.

public class Unit {// метод compareTo()
   static String under = " ниже по званию, чем ";
   static String above = " выше по званию, чем ";
   static String equa = " имеет звание, как и ";
   String surname;
   Rank rank;
   Unit(String surname, Rank rank) {
      this.surname = surname;
      this.rank = rank;
   }
   public static void main(String[] args) {
      Unit officer1 = new Unit("Иванов", Rank.Sublieutenant);
      Unit officer2 = new Unit("Петров", Rank.Lieutenant);
      Unit officer3 = new Unit("Сидоров", Rank.Captain);
      Unit officer4 = new Unit("Спиридонов", Rank.Major);
      Unit officer5 = new Unit("Ширков", Rank.Major);
      Unit.rankCampare(officer1, officer2);
      Unit.rankCampare(officer3, officer4);
      Unit.rankCampare(officer4, officer5);
   }
   static public void rankCampare(Unit officer1, Unit officer2) {
      if (officer1.rank.compareTo(officer2.rank) < 0) {
         System.out.println(officer1.surname + under + officer2.surname);
      } else if (officer1.rank.compareTo(officer2.rank) > 0) {
         System.out.println(officer1.surname + above + officer2.surname);
      } else {
         System.out.println(officer1.surname + equa + officer2.surname);
      }
   }
}
public enum Rank {
   Sublieutenant, Lieutenant, Captain, Major, LieutenantColonel, Colonel
}

Ответ:

Иванов ниже по званию, чем Петров
Сидоров ниже по званию, чем Спиридонов
Спиридонов имеет звание, как и Ширков

Задача 268: Программа сравнивает: одинаковое ли у офицеров звание.

public class Unit { // метод equals()
   static String noEqua = " имеет другое звание, чем ";
   static String equa = " имеет звание, как и ";
   String surname;
   Rank rank;
   Unit(String surname, Rank rank) {
      this.surname = surname;
      this.rank = rank;
   }
   public static void main(String[] args) {
      Unit officer1 = new Unit("Иванов", Rank.Sublieutenant);
      Unit officer2 = new Unit("Петров", Rank.Lieutenant);
      Unit officer3 = new Unit("Сидоров", Rank.Captain);
      Unit officer4 = new Unit("Спиридонов", Rank.Major);
      Unit officer5 = new Unit("Ширков", Rank.Major);
      Unit.rankEqual(officer1, officer2);
      Unit.rankEqual(officer3, officer4);
      Unit.rankEqual(officer4, officer5);
   }
   static public void rankEqual(Unit officer1, Unit officer2) {
      if (officer1.rank.equals(officer2.rank)) {
         System.out.println(officer1.surname + equa + officer2.surname);
      } else {
         System.out.println(officer1.surname + noEqua + officer2.surname);
      }
   }
}
public enum Rank {
   Sublieutenant, Lieutenant, Captain, Major, LieutenantColonel, Colonel
}

Ответ:

Иванов имеет другое звание, чем Петров
Сидоров имеет другое звание, чем Спиридонов
Спиридонов имеет звание, как и Ширков

Задача 269: Программа сравнивает: одинаковое ли у офицеров звание.

public class Unit {// == аналог метода equal()
   static String noEqua = " имеет другое звание, чем ";
   static String equa = " имеет звание, как и ";
   String surname;
   Rank rank;
   Unit(String surname, Rank rank) {
      this.surname = surname;
      this.rank = rank;
   }
   public static void main(String[] args) {
      Unit officer1 = new Unit("Иванов", Rank.Sublieutenant);
      Unit officer2 = new Unit("Петров", Rank.Lieutenant);
      Unit officer3 = new Unit("Сидоров", Rank.Captain);
      Unit officer4 = new Unit("Спиридонов", Rank.Major);
      Unit officer5 = new Unit("Ширков", Rank.Major);
      Unit.rankEqual(officer1, officer2);
      Unit.rankEqual(officer3, officer4);
      Unit.rankEqual(officer4, officer5);
   }
   static public void rankEqual(Unit officer1, Unit officer2) {
      if (officer1.rank == officer2.rank) {
         System.out.println(officer1.surname + equa + officer2.surname);
      } else {
         System.out.println(officer1.surname + noEqua + officer2.surname);
      }
   }
}
public enum Rank {
   Sublieutenant, Lieutenant, Captain, Major, LieutenantColonel, Colonel
}

Ответ:

Иванов имеет другое звание, чем Петров
Сидоров имеет другое звание, чем Спиридонов
Спиридонов имеет звание, как и Ширков

Задача 270: Программа выводит города, которые записаны в enum, и выводит их порядковые номера.Затем программа выводит статусы пользователей, которые тоже записаны в enum, и выводит их порядковые номера.

public class User { // метод ordinal()
   String name;
   Area region;
   Type t;
   User(String name, Area region, Type t) {
      this.name = name;
      this.region = region;
      this.t = t;
   }
   public static void main(String[] args) {
      for (Area a : Area.values()) {
         System.out.println(a + " порядковый № " + a.ordinal());
      }
      System.out.println(" ");
      for (Type t : Type.values()) {
         System.out.println(t + " порядковый № " + t.ordinal());
      }
   }
}
public enum Area {
   Moscow, Minsk, Kiev, Odessa, Voronezh, Magadan, Other
}
public enum Type {
   Beginner, NormalUser, ExperiencedUser, Moderator, Admin
}

Ответ:

Moscow порядковый № 0
Minsk порядковый № 1
Kiev порядковый № 2
Odessa порядковый № 3
Voronezh порядковый № 4
Magadan порядковый № 5
Other порядковый № 6

Beginner порядковый № 0
NormalUser порядковый № 1
ExperiencedUser порядковый № 2
Moderator порядковый № 3
Admin порядковый № 4

Задача 271: Программа создает новую папку “New Dir” проверяет файл это или каталог, переименовывает папку в “New Directory”, потом создает папку “New Direc” и удаляет её.

import java.io.File;
import java.io.IOException;

public class Main {

   public static void main(String[] args) throws IOException {

      File dir1 = new File("New Dir");
      dir1.mkdir();
      System.out.println("Каталог '" + dir1.getName() + "' существует? "
            + dir1.exists());
      System.out.println(dir1.getName() + " файл? " + dir1.isFile());
      System.out.println(dir1.getName() + " каталог? " + dir1.isDirectory());
      File dir2 = new File("New Directory");
      dir1.renameTo(dir2);
      System.out.println("Каталог '" + dir2.getName() + "'");
      File dir3 = new File("New Direc");
      dir3.mkdir();
      System.out.println("Каталог '" + dir3.getName() + "' существует? "
            + dir3.exists());
      dir3.delete();
      System.out.println("Каталог '" + dir3.getName() + "' существует? "
            + dir3.exists());
   }
}

Ответ:

Каталог ‘New Dir’ существует? true
New Dir файл? false
New Dir каталог? true
Каталог ‘New Directory’
Каталог ‘New Direc’ существует? true
Каталог ‘New Direc’ существует? false

Задача 272: Программа создает новый файл “file1.txt”, проверяет файл на существование и выводит путь к файлу.Затем создает ещё 2 файла “file2.txt” и “file3.txt”, выводит их пути, потом переименовывает “file2.txt” в “file3.txt” и проверяет файлы на существование. После этого программа удаляет файл “file3.txt” и проверяет файл на существование.

import java.io.File;
import java.io.IOException;

public class Main {

   public static void main(String[] args) throws IOException {

      File file1 = new File("file1.txt");
      file1.createNewFile();
      System.out.println("Файл '" + file1.getName() + "' существует? "
            + file1.exists());
      System.out.println("Абсолютный путь-" + file1.getAbsolutePath());
      File file2 = new File("file2.txt");
      file2.createNewFile();
      System.out.println("Абсолютный путь-" + file2.getAbsolutePath());
      File file3 = new File("file3.txt");
      System.out.println("Абсолютный путь-" + file3.getAbsolutePath());
      file2.renameTo(file3);
      System.out.println("Файл '" + file2.getName() + "' существует? "
            + file2.exists());
      System.out.println("Файл '" + file3.getName() + "' существует? "
            + file3.exists());
      file3.delete();
      System.out.println("Файл '" + file3.getName() + "' существует? "
            + file3.exists());
   }
}

Ответ:

Файл ‘file1.txt’ существует? true
Абсолютный путь-C:\\Users\\User\\workspace\\NewTestLesson57Question282\\file1.txt
Абсолютный путь-C:\\Users\\User\\workspace\\NewTestLesson57Question282\\file2.txt
Абсолютный путь-C:\\Users\\User\\workspace\\NewTestLesson57Question282\\file3.txt
Файл ‘file2.txt’ существует? false
Файл ‘file3.txt’ существует? true
Файл ‘file3.txt’ существует? false

Задача 273: Программа создает новый файл “file1.txt”, предварительно удалив файл, если он уже существовал. Проверяет файл на существование и затем проверяет файл на возможность чтения и записи в файл. Затем присваивает файлу состояние “только для чтения” и снова проверяет на возможность записи в файл.

import java.io.File;
import java.io.IOException;

public class Main {

   public static void main(String[] args) throws IOException {

      File file1 = new File("file1.txt");
      if (file1.exists()) {
         file1.delete();
      }
      file1.createNewFile();
      System.out.println("Файл '" + file1.getName() + "' существует? "
            + file1.exists());
      System.out.println("Можно читать " + file1.canRead());
      System.out.println("Можно писать " + file1.canWrite());
      file1.setReadOnly();
      System.out.println("Можно писать " + file1.canWrite());
   }
}

Ответ:

Файл ‘file1.txt’ существует? true
Можно читать true
Можно писать true
Можно писать false

Задача 274: Программа создает новый файл “file1.txt”, потом проверяет сколько места занимает файл, сколько свободного места на диске, сколько свободного места для записи и время последней модификации.

import java.io.File;
import java.io.IOException;

public class Main {

   public static void main(String[] args) throws IOException {

      File file1 = new File("file1.txt");
      file1.createNewFile();
      System.out.println("Файл занимает - " + file1.length() + " КБ");
      System.out.println("Свободно - " + file1.getTotalSpace() + " КБ");
      System.out.println("Свободно для записи - " + file1.getFreeSpace()
            + " КБ");
      file1.getFreeSpace();
      System.out.println("Время модификации - " + file1.lastModified());
   }
}

Ответ:

Файл занимает – 0 КБ
Свободно – 146002669568 КБ
Свободно для записи – 94855864320 КБ
Время модификации – 1417080493954

Задача 275: Программа берет текущий каталог и выводит файлы и папки из текущего каталога.

import java.io.File;
import java.io.IOException;

public class Main {

   public static void main(String[] args) throws IOException {
      String way = "C:\\\\Users\\\\User\\\\workspace\\\\NewTestLesson57Question285\\\\";
      File direc = new File(way);
      System.out.println("Каталог '" + direc.getName() + "' существует? "
            + direc.exists());
      System.out.println("");
      if (direc.isDirectory()) {
         System.out.println("В каталоге " + direc.getName()
               + " расположены:");
         String s[] = direc.list();
         for (int i = 0; i < s.length; i++) {
            File file = new File(way + s[i]);
            if (file.isDirectory()) {
               System.out.println("каталог " + file.getName());
            } else {
               System.out.println("файл " + file.getName());
            }
         }
      }
   }
}

Ответ:

Каталог ‘NewTestLesson57Question285’ существует? true

В каталоге NewTestLesson57Question285 расположены:
файл .classpath
файл .project
каталог .settings
каталог bin
файл file1.txt
каталог src

Задача 276: Программа записывает битовые данные из массива в файл, а потом из файла выводит битовые данные на экран.

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Main {

   public static void main(String[] args) throws IOException {

      File file1 = new File("file1.txt");
      FileOutputStream streamOut1 = new FileOutputStream(file1);
      FileInputStream streamIn1 = new FileInputStream(file1);
      int b[] = { 99, 3, 155, 54, 0 };
      for (int i = 0; i < b.length; i++) {
         streamOut1.write(b[i]);
      }
      int res = streamIn1.read();
      while (res != -1) {
         System.out.println(res);
         res = streamIn1.read();
      }
      streamOut1.close();
      streamIn1.close();
   }
}

Ответ:

99
3
155
54
0

Задача 277: Программа считывает битовые данные в файл и потом выводит эти данные на экран.

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Main {

   public static void main(String[] args) throws IOException {

      File file1 = new File("file1.txt");
      FileOutputStream streamOut1 = new FileOutputStream(file1);
      FileInputStream streamIn1 = new FileInputStream(file1);

      byte b = 99;
      streamOut1.write(b);
      b = 65;
      streamOut1.write(b);

      System.out.println(streamIn1.read());
      System.out.println(streamIn1.read());
      System.out.println(streamIn1.read());

      streamOut1.close();
      streamIn1.close();
   }
}

Ответ:

99
65
-1

Задача 278: Программа считывает битовые данные в поток из массива, выводит их на экран, а потом записывает их в другой битовый массив и выводит массив на экран.

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;

public class Main {

   public static void main(String[] args) throws IOException {

      byte btIn[] = { 7, 2, 34, 123 };
      byte btOut[] = new byte[4];
      ByteArrayInputStream streamIn1 = new ByteArrayInputStream(btIn);
      ByteArrayOutputStream streamOut1 = new ByteArrayOutputStream();

      for (int i = 0; i < btIn.length; i++) {
         int d = streamIn1.read();
         System.out.println(d);
         streamOut1.write(d);
      }

      btOut = streamOut1.toByteArray();
      streamIn1.close();
      for (int i = 0; i < btOut.length; i++) {
         System.out.println(btOut[i]);
      }
      streamOut1.close();
   }
}

Ответ:

7
2
34
123
7
2
34
123

Задача 279: Программа записывает случайные битовые данные в файл и потом выводит данные из файла на экран.

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class Main {

   public static void main(String[] args) throws IOException {

      File file1 = new File("file1.txt");
      FileOutputStream streamOut1 = new FileOutputStream(file1);
      FileInputStream streamIn1 = new FileInputStream(file1);
      int c;
      for (int i = 0; i < 10; i++) {
         c = (int) (Math.random() * 10 + 1);
         streamOut1.write(с);
      }
      int result = streamIn1.read();
      while (result != -1) {
         System.out.print(result + " ");
         result = streamIn1.read();
      }
      streamOut1.close();
      streamIn1.close();
   }
}

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

7 6 9 8 2 1 3 8 9 3

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


knopkisoc

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