Advertisement
Guest User

Untitled

a guest
Apr 6th, 2020
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.42 KB | None | 0 0
  1. package lista3.zad3;
  2.  
  3. import java.util.Scanner;
  4.  
  5.  
  6. public class Silnia {
  7.     private class Watek extends Thread {
  8.         private int liczba;
  9.         private Silnia silnia;
  10.  
  11.         @Override
  12.         public void run() {
  13.             System.out.println(Thread.
  14.                     currentThread().getName()
  15.                     + "[" + liczba
  16.                     + "] ! = " + silnia.licz(liczba));
  17.         }
  18.     }
  19.  
  20.     // obliczenie silni odbywa się za pomocą rekurencji
  21.     public  int licz(int wartosc) {
  22.         try {
  23.             if (wartosc <= 1)
  24.                 return 1;
  25.             else
  26.                 return wartosc * licz(wartosc - 1);
  27.         } finally {
  28.             System.out.println(Thread.currentThread().getName()
  29.                     + " ==[liczbe]==> " + wartosc);
  30.         }
  31.     }
  32.  
  33.     public static void main(String[] args) {
  34.         Scanner sc = new Scanner(System.in);
  35.         System.out.print("Podaj liczbę: ");
  36. // pobieramy od użytkownika liczbę
  37.         int liczba = sc.nextInt();
  38.         sc.close();
  39.         if (liczba < 16) {
  40.             Silnia silnia = new Silnia();
  41.             for (int i = 0; i < liczba; i++) {
  42.                 Watek watek = silnia.new Watek();
  43.                 watek.silnia = silnia;
  44.                 watek.liczba = liczba;
  45.                 watek.start();
  46.             }
  47.         } else {
  48.             System.out.println("Licze max do !15");
  49.         }
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement