Advertisement
Guest User

Untitled

a guest
May 30th, 2015
260
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.76 KB | None | 0 0
  1.  
  2.  
  3.  
  4.  class Pracownik
  5. {
  6.    String nazwisko;
  7.    double etat;
  8.    String grupa;
  9.    public Pracownik(String n, double e){
  10.     nazwisko=n;
  11.     etat=e;
  12.    
  13.    
  14.     }
  15.     double wyplata(){
  16.      
  17.         return 0;
  18.     }
  19.    public boolean equals(Pracownik prac){
  20.     return this.nazwisko==prac.nazwisko;
  21.    
  22.    
  23.     }
  24. }
  25.  
  26. ======================================
  27. public class Robotnik extends Pracownik
  28. {
  29.   double godz;
  30.   double stawka;
  31.   static double limit=180;
  32.  
  33.   public Robotnik(double g, double st, String n, double e){
  34.     super(n,e);
  35.     godz=g;
  36.     stawka=st;
  37.     grupa="robotnik";
  38.     }
  39.     double wyplata(){
  40.     double wyp;
  41.     if(godz<limit){
  42.     wyp=(godz*stawka)*etat;
  43.        
  44.     } else {wyp=(((godz-limit)*1.5*stawka)+limit*stawka)*etat;
  45.    
  46.     }
  47.     return wyp;
  48. }
  49. }
  50.  
  51.  
  52. -----------------------------
  53.  
  54.  class Urzednik extends Pracownik
  55. {
  56.     double placa;
  57.     double premia;
  58.    
  59.     public Urzednik(double pl, double pr, String n, double e){
  60.     super(n,e);
  61.     placa=pl;
  62.     premia=pr;
  63.     grupa="urzędnik";
  64. }
  65.     double wyplata(){
  66.     double wyp;
  67.     wyp=(placa+(premia*placa))*etat;
  68.     return wyp;
  69.    
  70.     }
  71.     }
  72.  
  73.  
  74.  
  75.  
  76. -------------------------------------
  77.  
  78.  
  79. public class Firma
  80. {
  81.     Pracownik [] tab;
  82.     int ile;
  83.     boolean jest;
  84. public Firma(int i){
  85.     ile=i;
  86. tab=new Pracownik[ile];
  87.  
  88. }
  89.  
  90.    void przyjmijPracownika(Pracownik prac){
  91.  
  92.     for(int i=0; i<tab.length; i++){
  93.    
  94.        
  95.         if(tab[i]==null){
  96.     tab[i]=prac;
  97.     break;
  98.     }
  99.     }
  100.    
  101. }
  102.  
  103. void wyswietlPrac(){
  104.     System.out.println("Lista osób zatrudnionych(ogółem):");
  105. for(int i=0; i<tab.length; i++){
  106.    
  107.     System.out.println((i+1)+"."+" "+tab[i].nazwisko+", "+tab[i].grupa+", "+"etat: "+tab[i].etat);
  108. }
  109. System.out.println();
  110. }
  111. void wyswietlUrz(){
  112.     int lic=0;
  113.      System.out.println("Lista zatrudnionych urzędników:");
  114. for(int i=0; i<tab.length; i++){
  115.     if(czyJestUrzednikiem2(tab[i])==true){
  116.     lic++;
  117.     System.out.println((lic)+"."+" "+tab[i].nazwisko+", "+"etat: "+tab[i].etat);
  118. }
  119. }
  120. System.out.println();
  121.  
  122. }
  123.  
  124. void wyswietlRob(){
  125.     int lic=0;
  126.        System.out.println("Lista zatrudnionych robotników:");
  127. for(int i=0; i<tab.length; i++){
  128.     if(czyJestRobotnikiem2(tab[i])==true){
  129.    lic++;
  130.     System.out.println((lic)+"."+" "+tab[i].nazwisko+", "+"etat: "+tab[i].etat);
  131. }
  132. }
  133. System.out.println();
  134.  
  135. }
  136.  
  137. void wyswietlPlace(){
  138.     System.out.println("Lista płac:");
  139. for(int i=0; i<tab.length; i++){
  140.    
  141.     System.out.println((i+1)+"."+" "+tab[i].nazwisko+", "+tab[i].grupa+", "+"etat: "+tab[i].etat+", "+"płaca: "+tab[i].wyplata()+" PLN");
  142. }
  143.  
  144. System.out.println();
  145. }
  146.  
  147. public Pracownik[] pokazFirme(){
  148. return tab;
  149. }
  150. public boolean czyJestUrzednikiem(Pracownik prac){
  151.  jest=false;
  152. if(prac instanceof Urzednik){jest=true;
  153. System.out.println("Tak, pracownik "+prac.nazwisko+" jest urzędnikiem");
  154.    System.out.println(); }
  155. else{System.out.println("Nie, pracownik "+prac.nazwisko+" nie jest urzędnikiem");
  156.    System.out.println(); }
  157. return jest;
  158. }
  159.  
  160. public boolean czyJestUrzednikiem2(Pracownik prac){
  161.  jest=false;
  162. if(prac instanceof Urzednik){jest=true;}
  163.  
  164. return jest;
  165. }
  166.  
  167. public boolean czyJestRobotnikiem(Pracownik prac){
  168.  jest=false;
  169. if(prac instanceof Robotnik){jest=true;
  170. System.out.println("Tak, pracownik "+prac.nazwisko+" jest robotnikiem");
  171.    System.out.println(); }
  172. else{System.out.println("Nie, pracownik "+prac.nazwisko+" nie jest robotnikiem");
  173.    System.out.println(); }
  174. return jest;
  175. }
  176. public boolean czyJestRobotnikiem2(Pracownik prac){
  177.  jest=false;
  178. if(prac instanceof Robotnik){jest=true;}
  179.  
  180. return jest;
  181. }
  182. public Pracownik znajdzPracownika(String n){
  183. Pracownik  x=null;
  184. for(int i=0; i<tab.length; i++){
  185. if(n==tab[i].nazwisko){x=tab[i];
  186. return x;}
  187. }
  188. return x;
  189. }
  190.  
  191. double sumaWyplat(){
  192. double sum=0;
  193. for(int i=0; i<tab.length; i++){
  194. sum+=tab[i].wyplata();
  195. }
  196. System.out.println("Suma wypłat wynosi "+sum+" PLN");
  197.  System.out.println();
  198. return sum;
  199. }
  200.  
  201. public int ileJestUrz(){
  202.     int licznik=0;
  203. for(int i=0; i<tab.length; i++){
  204.  if(czyJestUrzednikiem2(tab[i])==true){licznik=licznik+1;}
  205. }
  206.    System.out.println("Zatrudnionych jest "+licznik+" urzędników");
  207.       System.out.println();
  208.    return licznik;
  209. }
  210.  
  211. public int ileJestRob(){
  212.     int licznik=0;
  213. for(int i=0; i<tab.length; i++){
  214.  if(czyJestRobotnikiem2(tab[i])==true){licznik=licznik+1;}
  215. }
  216.    System.out.println("Zatrudnionych jest "+licznik+" robotników");
  217.    System.out.println();
  218.    return licznik;
  219. }
  220. double sumaWyplatUrz(){
  221. double sum=0;
  222. for(int i=0; i<tab.length; i++){
  223.     if(czyJestUrzednikiem2(tab[i])==true){
  224.     sum+=tab[i].wyplata();
  225. }
  226.  
  227. }
  228. System.out.println("Suma wypłat urzędników wynosi "+sum+" PLN");
  229.  System.out.println();
  230. return sum;
  231. }
  232.  
  233. double sumaWyplatRob(){
  234. double sum=0;
  235. for(int i=0; i<tab.length; i++){
  236.     if(czyJestRobotnikiem2(tab[i])==true){
  237.     sum+=tab[i].wyplata();
  238. }
  239.  
  240. }
  241. System.out.println("Suma wypłat robotników wynosi "+sum+" PLN");
  242.  System.out.println();
  243. return sum;
  244. }
  245.  
  246. double wyplataDanegoPrac(Pracownik prac){
  247. double wyplata=prac.wyplata();
  248. System.out.println("Wypłata pracownika "+prac.nazwisko+" wynosi: "+wyplata+" PLN");
  249. System.out.println();
  250. return wyplata;
  251. }
  252.  
  253.  
  254. public void usuwaniePrac(String n) {
  255.     Pracownik[] tab1= new Pracownik[tab.length-1]; int i=0; int idx=0;
  256.     for( i=0; i<tab1.length; i++) {
  257.         tab1[i]=tab[i];
  258.     }
  259.    
  260.     for( int k=0; k<tab1.length; k++) {
  261.         if(tab1[k].nazwisko==n){tab1[k]=tab[tab.length-1];}
  262.     }
  263.     System.out.println("Usunięcie pracownika "+n);
  264.     System.out.println();
  265.     tab=tab1;
  266. }
  267. }
  268.  
  269.  
  270. ------------------------------------
  271.  
  272.  
  273. public class Test
  274. {
  275.    public static void main (){
  276.     Firma firma =new Firma(5);
  277.     firma.przyjmijPracownika(new Urzednik(1000, 0.1, "Kowalski", 1));
  278.     Robotnik rob=new Robotnik(120, 15, "Nowak", 0.5);
  279.     firma.przyjmijPracownika(rob);
  280.     Urzednik urz=new Urzednik(1200, 0.2, "Ratajczak", 0.75);
  281.     firma.przyjmijPracownika(urz);
  282.     firma.przyjmijPracownika(new Urzednik(1500, 0.1, "Górniak", 0.25));
  283.     firma.przyjmijPracownika(new Robotnik(200, 10, "Kowal", 1));
  284.     firma.wyswietlPrac();
  285.     firma.wyswietlUrz();
  286.     firma.wyswietlRob();
  287.     firma.wyswietlPlace();
  288.     firma.wyplataDanegoPrac(rob);
  289.     firma.sumaWyplatUrz();
  290.     firma.sumaWyplatRob();
  291.     firma.sumaWyplat();
  292.     firma.czyJestUrzednikiem(rob);
  293.     firma.czyJestUrzednikiem(urz);
  294.     firma.ileJestUrz();
  295.     firma.ileJestRob();
  296.     firma.usuwaniePrac("Nowak");
  297.     firma.wyswietlPrac();
  298.     firma.wyswietlUrz();
  299.     firma.wyswietlRob();
  300.     firma.ileJestRob();
  301.     firma.ileJestUrz();
  302.     firma.wyswietlPlace();
  303.     firma.sumaWyplatUrz();
  304.     firma.sumaWyplatRob();
  305.     firma.sumaWyplat();
  306.    
  307.  
  308.    
  309.    
  310.     }
  311. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement