Azure47

OS Lab 3.4 - GlasanjeServer

Apr 1st, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.83 KB | None | 0 0
  1. import java.io.IOException;
  2. import java.io.PrintStream;
  3. import java.net.ServerSocket;
  4. import java.net.Socket;
  5. import java.util.Scanner;
  6. import java.util.concurrent.Semaphore;
  7.  
  8. public class GlasanjeServer {
  9.  
  10.     public static Semaphore granica = new Semaphore(100);
  11.  
  12.     public static void main(String[] args) throws IOException, InterruptedException {
  13.         ServerSocket ss = new ServerSocket(9876);
  14.  
  15.         String[] kandidati = {"Petar Kostadinov", "Ilija Petkovski", "Trajce Trajkov", "Petar Petrov"};
  16.         int[] glasovi = {0, 0, 0, 0};
  17.         int brojach = 0;
  18.  
  19.  
  20.         while (true) {
  21.             granica.acquire();
  22.  
  23.             Socket s = ss.accept();
  24.             Scanner sken = new Scanner(s.getInputStream());
  25.             PrintStream ps = new PrintStream(s.getOutputStream());
  26.  
  27.             String paket = "";
  28.  
  29.             for (int z = 0; z < kandidati.length; z++) {
  30.                 int pom = z + 1;
  31.                 paket += kandidati[z] + " - " + pom + " | ";
  32.             }
  33.             ps.println(paket);
  34.  
  35.             int i = 0;
  36.             try {
  37.                 i = sken.nextInt();
  38.             }
  39.             catch (Exception e){
  40.                 System.out.println("Ne odbravte kandidat");
  41.                 continue;
  42.             }
  43.  
  44.             if (i <= kandidati.length) {
  45.                 glasovi[i - 1]++;
  46.                 brojach++;
  47.             }
  48.             else{
  49.                 System.out.println("Ne odbravte kandidat");
  50.                 continue;
  51.             }
  52.  
  53.             System.out.println("Ostvareni se " + brojach + " glasanja.");
  54.             System.out.println("Kandidatite imaat ");
  55.             for (int j = 0; j < glasovi.length; j++) {
  56.                 System.out.println(kandidati[j] + " ima " + glasovi[j] + " glasa");
  57.             }
  58.  
  59.             granica.release();
  60.         }
  61.     }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment