Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.15 KB | None | 0 0
  1. import java.lang.Math.*;
  2. public class figury
  3. {
  4. public enum czworokat
  5. {
  6. KWADRAT(1,1,1,1,1),
  7. PROSTOKAT(1,1,1,1,1),
  8. ROMB(1,1,1,1,1);
  9.  
  10. private Double bok1;
  11. private Double bok2;
  12. private Double bok3;
  13. private Double bok4;
  14. private Double kat;
  15.  
  16.  
  17. czworokat(double a,double b,double c,double d, double k)
  18. {
  19. this.bok1 = a;
  20. this.bok2 = b;
  21. this.bok3 = c;
  22. this.bok4 = d;
  23. this.kat = k;
  24. }
  25. public void zmienwartosc(double a,double b,double c,double d, double k)
  26. {
  27. this.bok1 = a;
  28. this.bok2 = b;
  29. this.bok3 = c;
  30. this.bok4 = d;
  31. this.kat = k;
  32. }
  33. public double ObliczPole()
  34. {
  35. switch (this)
  36. {
  37. case KWADRAT:
  38. return bok1*bok1;
  39. case PROSTOKAT:
  40. return bok1*bok3;
  41. case ROMB:
  42. return Math.abs(bok1*bok1*Math.sin(kat));
  43. default:
  44. return 0;
  45. }
  46. }
  47. public double ObliczObwod()
  48. {
  49. switch (this)
  50. {
  51. case KWADRAT:
  52. return bok1*4;
  53. case PROSTOKAT:
  54. return bok1*2+bok3*2;
  55. case ROMB:
  56. return bok1*4;
  57. default:
  58. return 0;
  59. }
  60. }
  61. }
  62.  
  63. public enum jeden
  64. {
  65. OKRAG(1),
  66. SZESCIOKAT(1),
  67. PIECIOKAT(1);
  68.  
  69. private Double bok1;
  70.  
  71. jeden(double a)
  72. {
  73. this.bok1 = a;
  74. }
  75.  
  76. public void zmienwartosc(double a)
  77. {
  78. this.bok1 = a;
  79. }
  80.  
  81. public double ObliczPole()
  82. {
  83. switch (this)
  84. {
  85. case OKRAG:
  86. return Math.PI*bok1*bok1;
  87. case SZESCIOKAT:
  88. return (1.5)*Math.sqrt(3)*bok1*bok1;
  89. case PIECIOKAT:
  90. return (0.25)*(bok1 *bok1 * Math.sqrt(25+10* Math.sqrt(5)));
  91. default:
  92. return 0;
  93. }
  94. }
  95.  
  96. public double ObliczObwod()
  97. {
  98. switch (this)
  99. {
  100. case OKRAG:
  101. return 2*Math.PI*bok1;
  102. case SZESCIOKAT:
  103. return bok1*6;
  104. case PIECIOKAT:
  105. return bok1*5;
  106. default:
  107. return 0;
  108. }
  109. }
  110.  
  111. }
  112. public static void main(String[] args)
  113. {
  114. try
  115. {
  116. int r=args[0].length();
  117. }
  118. catch (ArrayIndexOutOfBoundsException e)
  119. {
  120. System.out.println("Podaj paramety");
  121. return;
  122. }
  123. int index = 1;
  124. int length = args[0].length();
  125. figury tab[] = new figury[length];
  126. for(int l = 0; l < length;l++)
  127. {
  128. char temporary = args[0].charAt(l);
  129. if((temporary!='c') && (temporary!='o') && (temporary!='p') && (temporary!='s'))
  130. {
  131. return;
  132. }
  133. if(temporary=='o')
  134. {
  135. tab[l] = figury.jeden.OKRAG;
  136. tab[l].zmienwartosc(Double.parseDouble(args[index]));
  137. index++;
  138. } else if (temporary == 'c')
  139. {
  140. if(Double.parseDouble(args[index])<0 || Double.parseDouble(args[index+1])<0 || Double.parseDouble(args[index+2])<0 || Double.parseDouble(args[index+3])<0 || Double.parseDouble(args[index+4])<0)
  141. {
  142. System.out.println("bledne paramety");
  143. return;
  144. }
  145. if(Double.parseDouble(args[index+4])==90)
  146. {
  147. if(Double.parseDouble(args[index])==Double.parseDouble(args[index+1]) && Double.parseDouble(args[index])==Double.parseDouble(args[index+2]) && Double.parseDouble(args[index])==Double.parseDouble(args[index+3]))
  148. {
  149. tab[l]=figury.czworokat.KWADRAT;
  150. tab[l].zmienwartosc(Double.parseDouble(args[index]),Double.parseDouble(args[index+1]),Double.parseDouble(args[index+2]),Double.parseDouble(args[index+3]),Double.parseDouble(args[index+4]));
  151. index=index+5;
  152. }
  153. if(Double.parseDouble(args[index])==Double.parseDouble(args[index+1]) &&Double.parseDouble(args[index+2])==Double.parseDouble(args[index+3])&&Double.parseDouble(args[index+1]) != Double.parseDouble(args[index+2]))
  154. {
  155. tab[l]=figury.czworokat.PROSTOKAT;
  156. tab[l].zmienwartosc(Double.parseDouble(args[index]),Double.parseDouble(args[index+1]),Double.parseDouble(args[index+2]),Double.parseDouble(args[index+3]),Double.parseDouble(args[index+4]));
  157. index=index+5;
  158. }
  159. else
  160. {
  161. tab[l]=figury.czworokat.ROMB;
  162. tab[l].zmienwartosc(Double.parseDouble(args[index]),Double.parseDouble(args[index+1]),Double.parseDouble(args[index+2]),Double.parseDouble(args[index+3]),Double.parseDouble(args[index+4])); }
  163. index=index+5;
  164. }
  165. else if (temporary == 'p')
  166. {
  167. tab[l]=figury.jeden.PIECIOKAT;
  168. tab[l].zmienwartosc(Double.parseDouble(args[index]));
  169. index++;
  170. }
  171. else {
  172. tab[l]=figury.czworokat.SZESCIOKAT;
  173. tab[l].zmienwartosc(Double.parseDouble(args[index]));
  174. index++;
  175. }
  176. }
  177. for(int j = 0;j < tab.length; j++)
  178. {
  179. try
  180. {
  181. System.out.println((tab[j]).ObliczPole());
  182. }
  183. catch(NullPointerException e)
  184. {
  185. System.out.println("Brak Figury " +(j+1));
  186. }
  187. try
  188. {
  189. System.out.println((tab[j]).ObliczPole());
  190. }
  191. catch(NullPointerException e)
  192. {
  193. System.out.println("Brak Figury " +(j+1));
  194. }
  195. }
  196. }
  197. }
  198. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement