SHARE
TWEET

Untitled

a guest Nov 14th, 2017 56 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.javarush.task.task16.task1626;
  2.  
  3. /*
  4. Разберись, как работает программа.
  5. По образу и подобию CountDownRunnable создай нить CountUpRunnable, которая выводит значения в нормальном порядке — от 1 до number.
  6.  */
  7. public class Solution {
  8.     public static int number = 5;
  9.  
  10.     public static void main(String[] args) {
  11.         new Thread(new CountDownRunnable(), "Уменьшаем").start();
  12.         new Thread(new CountUpRunnable(), "Увеличиваем").start();
  13.     }
  14.  
  15.     public static class CountUpRunnable implements Runnable {
  16.         private int countIndexUp = 1;
  17.  
  18.         @Override
  19.         public void run() {
  20.             try {
  21.                 while (true) {
  22.  
  23.                     System.out.println(toString());
  24.                     countIndexUp += 1;
  25.                     Thread.sleep(500);
  26.                     if (countIndexUp == Solution.number+1) {
  27.  
  28.                         return;
  29.                     }
  30.  
  31.                 }
  32.  
  33.             } catch (InterruptedException e) {
  34.  
  35.             }
  36.         }
  37.  
  38.         @Override
  39.         public String toString() {
  40.             return Thread.currentThread().getName() + ": " + countIndexUp;
  41.         }//Add your code here - добавь код тут
  42.     }
  43.  
  44.  
  45.     public static class CountDownRunnable implements Runnable {
  46.         private int countIndexDown = Solution.number;
  47.  
  48.         public void run() {
  49.             try {
  50.                 while (true) {
  51.                     System.out.println(toString());
  52.                     countIndexDown -= 1;
  53.                     if (countIndexDown == 0) return;
  54.                     Thread.sleep(500);
  55.                 }
  56.             } catch (InterruptedException e) {
  57.             }
  58.         }
  59.  
  60.         public String toString() {
  61.             return Thread.currentThread().getName() + ": " + countIndexDown;
  62.         }
  63.     }
  64. }
RAW Paste Data
Top