Advertisement
DearOohDeer

Rysowanie figur bez if i switch

Mar 14th, 2022
1,286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.96 KB | None | 0 0
  1. package Rysownik;
  2.  
  3. public class Kwadrat {
  4.     public double a;
  5.     public String typ = "Kwadrat";
  6.  
  7.     public Kwadrat(double a) {
  8.         this.a = a;
  9.     }
  10. }
  11.  
  12. public class Prostokat {
  13.     public double a;
  14.     public double b;
  15.     public String typ = "Prostokat";
  16.  
  17.     public Prostokat(double a, double b) {
  18.         this.a = a;
  19.         this.b = b;
  20.     }
  21. }
  22.  
  23. public class Trojkat {
  24.     public double a;
  25.     public double h;
  26.     public String typ = "Trojkat";
  27.  
  28.     public Trojkat(double a, double h) {
  29.         this.a = a;
  30.         this.h = h;
  31.     }
  32. }
  33.  
  34. public class Rysownik {
  35.     public void Rysuj(Kwadrat kwadrat) {
  36.  
  37.         int Xposition;
  38.         for(Xposition = 0; Xposition < kwadrat.a; Xposition++)
  39.         {
  40.          System.out.print("X");
  41.         }
  42.         for(int Yposition = 0; Yposition < kwadrat.a-1; Yposition++)
  43.         {
  44.             System.out.println();
  45.             System.out.print("X");
  46.             for(Xposition=0;Xposition < kwadrat.a-2;Xposition++)
  47.             {
  48.                 System.out.print(".") ;
  49.             }
  50.             System.out.print("X");
  51.         }
  52.         System.out.println();
  53.         for(Xposition = 0; Xposition < kwadrat.a; Xposition++)
  54.         {
  55.             System.out.print("X");
  56.         }
  57.     }
  58.  
  59.     public void Rysuj(Prostokat prostokat) {
  60.         int Xposition;
  61.         for(Xposition = 0; Xposition < prostokat.a; Xposition++)
  62.         {
  63.             System.out.print("X");
  64.         }
  65.         for(int Yposition = 0; Yposition < prostokat.b-1; Yposition++)
  66.         {
  67.             System.out.println();
  68.             System.out.print("X");
  69.             for(Xposition=0;Xposition < prostokat.a-2;Xposition++)
  70.             {
  71.                 System.out.print(".") ;
  72.             }
  73.             System.out.print("X");
  74.         }
  75.         System.out.println();
  76.         for(Xposition = 0; Xposition < prostokat.a; Xposition++)
  77.         {
  78.             System.out.print("X");
  79.         }
  80.     }
  81.  
  82.     public void Rysuj(Trojkat trojkat) {
  83.         double MiddlePoint = trojkat.a / 2;
  84.         int TempNumber;
  85.  
  86.         for (TempNumber = 0; TempNumber < Math.floor(MiddlePoint); TempNumber++)
  87.         {
  88.             System.out.print(" ");
  89.         }
  90.  
  91.         System.out.print("X");
  92.         System.out.println();
  93.         int PrevLeftWall = (int) MiddlePoint;
  94.  
  95.         for (int LinePoision = 1; LinePoision < trojkat.h - 1; LinePoision++)
  96.         {
  97.             double drawDone = (double) LinePoision / (trojkat.h - 1);
  98.             int LeftWall = (int) Math.floor(MiddlePoint - MiddlePoint * drawDone);
  99.             int RightWall = (int) Math.ceil(MiddlePoint - (MiddlePoint * drawDone * -1));
  100.             int HowManyX = PrevLeftWall - LeftWall;
  101.  
  102.             for (TempNumber = 0; TempNumber < LeftWall; TempNumber++)
  103.             {
  104.                 System.out.print(" ");
  105.             }
  106.  
  107.             TempNumber = HowManyX;
  108.             HowManyX = 0;
  109.  
  110.             do
  111.             {
  112.                 HowManyX++;
  113.                 TempNumber--;
  114.                 System.out.print("X");
  115.             } while (TempNumber > 0);
  116.  
  117.  
  118.             for (TempNumber = LeftWall + HowManyX; TempNumber < RightWall - HowManyX; TempNumber++)
  119.             {
  120.                 System.out.print(".");
  121.             }
  122.  
  123.             for (TempNumber = HowManyX; TempNumber > 0; TempNumber--)
  124.             {
  125.                 System.out.print("X");
  126.             }
  127.  
  128.             System.out.println();
  129.             PrevLeftWall = LeftWall;
  130.         }
  131.         for (TempNumber = 0; TempNumber < trojkat.a; TempNumber++)
  132.         {
  133.             System.out.print("X");
  134.         }
  135.         System.out.println();
  136.     }
  137. }
  138.  
  139.  
  140. public class JavaApplication1 {
  141.         public static void main(String[] args) {
  142.             Rysownik rysownik = new Rysownik();
  143.  
  144.             Trojkat TrojkatOB = new Trojkat(10, 10);
  145.             Kwadrat KwadratOB = new Kwadrat(10);
  146.             Prostokat ProstokatOB = new Prostokat(10,5);
  147.  
  148.             rysownik.Rysuj(ProstokatOB);
  149.         }
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement