Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.lang.Math.*;
- public class figury
- {
- public enum czworokat
- {
- KWADRAT(1,1,1,1,1),
- PROSTOKAT(1,1,1,1,1),
- ROMB(1,1,1,1,1);
- private Double bok1;
- private Double bok2;
- private Double bok3;
- private Double bok4;
- private Double kat;
- czworokat(double a,double b,double c,double d, double k)
- {
- this.bok1 = a;
- this.bok2 = b;
- this.bok3 = c;
- this.bok4 = d;
- this.kat = k;
- }
- public void zmienwartosc(double a,double b,double c,double d, double k)
- {
- this.bok1 = a;
- this.bok2 = b;
- this.bok3 = c;
- this.bok4 = d;
- this.kat = k;
- }
- public double ObliczPole()
- {
- switch (this)
- {
- case KWADRAT:
- return bok1*bok1;
- case PROSTOKAT:
- return bok1*bok3;
- case ROMB:
- return Math.abs(bok1*bok1*Math.sin(kat));
- default:
- return 0;
- }
- }
- public double ObliczObwod()
- {
- switch (this)
- {
- case KWADRAT:
- return bok1*4;
- case PROSTOKAT:
- return bok1*2+bok3*2;
- case ROMB:
- return bok1*4;
- default:
- return 0;
- }
- }
- }
- public enum jeden
- {
- OKRAG(1),
- SZESCIOKAT(1),
- PIECIOKAT(1);
- private Double bok1;
- jeden(double a)
- {
- this.bok1 = a;
- }
- public void zmienwartosc(double a)
- {
- this.bok1 = a;
- }
- public double ObliczPole()
- {
- switch (this)
- {
- case OKRAG:
- return Math.PI*bok1*bok1;
- case SZESCIOKAT:
- return (1.5)*Math.sqrt(3)*bok1*bok1;
- case PIECIOKAT:
- return (0.25)*(bok1 *bok1 * Math.sqrt(25+10* Math.sqrt(5)));
- default:
- return 0;
- }
- }
- public double ObliczObwod()
- {
- switch (this)
- {
- case OKRAG:
- return 2*Math.PI*bok1;
- case SZESCIOKAT:
- return bok1*6;
- case PIECIOKAT:
- return bok1*5;
- default:
- return 0;
- }
- }
- }
- public static void main(String[] args)
- {
- try
- {
- int r=args[0].length();
- }
- catch (ArrayIndexOutOfBoundsException e)
- {
- System.out.println("Podaj paramety");
- return;
- }
- int index = 1;
- int length = args[0].length();
- figury tab[] = new figury[length];
- for(int l = 0; l < length;l++)
- {
- char temporary = args[0].charAt(l);
- if((temporary!='c') && (temporary!='o') && (temporary!='p') && (temporary!='s'))
- {
- return;
- }
- if(temporary=='o')
- {
- tab[l] = figury.jeden.OKRAG;
- tab[l].zmienwartosc(Double.parseDouble(args[index]));
- index++;
- } else if (temporary == 'c')
- {
- 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)
- {
- System.out.println("bledne paramety");
- return;
- }
- if(Double.parseDouble(args[index+4])==90)
- {
- 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]))
- {
- tab[l]=figury.czworokat.KWADRAT;
- 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]));
- index=index+5;
- }
- 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]))
- {
- tab[l]=figury.czworokat.PROSTOKAT;
- 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]));
- index=index+5;
- }
- else
- {
- tab[l]=figury.czworokat.ROMB;
- 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])); }
- index=index+5;
- }
- else if (temporary == 'p')
- {
- tab[l]=figury.jeden.PIECIOKAT;
- tab[l].zmienwartosc(Double.parseDouble(args[index]));
- index++;
- }
- else {
- tab[l]=figury.czworokat.SZESCIOKAT;
- tab[l].zmienwartosc(Double.parseDouble(args[index]));
- index++;
- }
- }
- for(int j = 0;j < tab.length; j++)
- {
- try
- {
- System.out.println((tab[j]).ObliczPole());
- }
- catch(NullPointerException e)
- {
- System.out.println("Brak Figury " +(j+1));
- }
- try
- {
- System.out.println((tab[j]).ObliczPole());
- }
- catch(NullPointerException e)
- {
- System.out.println("Brak Figury " +(j+1));
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement