klawiatura


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

class BladCzytaniaZKlawiaturyLiczbyCalkowitej extends NumberFormatException
{
private static final long serialVersionUID = 1L;
public BladCzytaniaZKlawiaturyLiczbyCalkowitej(String message) {
super(message);
}
}
class Klawiatura {
public static String name = "Wczytałem liczbe: ";
public static String czytajZnaki() throws IOException {
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
return br.readLine();
}
public Integer czytajLiczbeCalkowita() throws
BladCzytaniaZKlawiaturyLiczbyCalkowitej {
String znaki = null;
try {
if ((znaki = czytajZnaki()) != null) {
return Integer.valueOf(znaki);
}
}
catch (NumberFormatException e) {
throw new BladCzytaniaZKlawiaturyLiczbyCalkowitej("Podana ciag znaków nie jest liczba całkowita.");
}
catch (IOException e) {
e.printStackTrace();
}
return null;
}
}


abstract class Figura {
protected int liczba_bokow;
protected int[] boki;
protected String nazwa_figury;
protected String jednostki;
protected float[] boki2;
public Figura(String nazwa_figury, String jednostki, int... boki) {
this.nazwa_figury = nazwa_figury;
this.jednostki = jednostki;
this.boki = boki;
}

public Figura(String nazwa_figury, String jednostki, float... boki) {
this.nazwa_figury = nazwa_figury;
this.jednostki = jednostki;
this.boki2 = boki2;
}


public abstract double getPole();
public abstract double getObwod();
public void wypiszPole() {
System.out.print("Pole "+nazwa_figury+" (o bokach [");
for (int i = 0; i < boki.length-1; i++) {
System.out.print(boki[i]+", ");
}
if (boki.length-1>=0) System.out.print(boki[boki.length-1]);
System.out.println("]) = "+getPole()+" "+jednostki+"^2");
}
public void wypiszObwod() {
System.out.print("Obwod "+nazwa_figury+" (o bokach [");
for (int i = 0; i < boki.length-1; i++) {
System.out.print(boki[i]+", ");
}
if (boki.length-1>=0) System.out.print(boki[boki.length-1]);
System.out.println("]) = "+getObwod()+" "+jednostki);
}
}
class Prostokat extends Figura {
public Prostokat(String jednostki, int... bok) {
super("Prostokat", jednostki, bok);
}
public double getObwod() {
return boki[0]*boki[1];
}
public double getPole() {
return 2*(boki[0]+boki[1]);
}
}
class Kolo extends Figura {
public Kolo(String jednostki, int... boki) {
super("Koło", jednostki, boki);
}
public void wypiszPole() {
System.out.print("Pole "+nazwa_figury+" (o promieniu r ="+boki[0]+" "+jednostki+")");
System.out.println(" = "+getPole()+" "+jednostki+"^2");
}
public void wypiszObwod() {
System.out.print("Obwod "+nazwa_figury+" (o promieniu r -"+boki[0]+" "+jednostki+")");
System.out.println(" = "+getObwod()+" "+jednostki);
}
public double getObwod() {
return 2*Math.PI*boki[0];
}
public double getPole() {
return boki[0]*boki[0]*Math.PI;
}
}
class Trojkat extends Figura {
public Trojkat(String jednostki, int... bok) {
super("Trojkat", jednostki, bok);
}
public void wypiszPole() {
System.out.print("Pole "+nazwa_figury+" (o wysokosci h ="+boki[1]+" "+jednostki+")");
System.out.println(" = "+getPole()+" "+jednostki+"^2");
}
public void wypiszObwod() {
System.out.print("Obwod "+nazwa_figury+" (o wysokosci h ="+boki[1]+" "+jednostki+")");
System.out.println(" = "+getObwod()+" "+jednostki);
}
public double getObwod(){
return boki[0]+boki[1]+ boki[2];
}
public double getPole() {
return 0.5*boki[0]*boki[1];
}
}
class Trapez extends Figura {
public Trapez(String jednostki, int... bok) {
super("Trapez", jednostki, bok);
}
public void wypiszPole() {
System.out.print("Pole "+nazwa_figury+" (o wysokosci h ="+boki[4]+" "+jednostki+")");
System.out.println(" = "+getPole()+" "+jednostki+"^2");
}
public void wypiszObwod() {
System.out.print("Obwod "+nazwa_figury+" (o wysokosci h ="+boki[4]+" "+jednostki+")");
System.out.println(" = "+getObwod()+" "+jednostki);
}
public double getObwod(){
return boki[0]+boki[1]+ boki[2]+boki[3];
}
public double getPole() {
return 0.5*(boki[0]+boki[1])*boki[4];
}
}
class Romb extends Figura {
public Romb(String jednostki, int... bok) {
super("Romb", jednostki, bok);
}
public void wypiszPole() {
System.out.print("Pole "+nazwa_figury+" (o przekatnych p q ="+boki[1]+" "+jednostki+" "+boki[2]+" "+jednostki+")");
System.out.println(" = "+getPole()+" "+jednostki+"^2");
}
public void wypiszObwod() {
System.out.print("Pole "+nazwa_figury+" (o przekatnych p q ="+boki[1]+" "+jednostki+" "+boki[2]+" "+jednostki+")");
System.out.println(" = "+getObwod()+" "+jednostki);
}
public double getObwod(){
return 4*boki[0];
}
public double getPole() {
return 0.5*boki[1]*boki[2];
}
}
public class FiguryGeometryczne {
public static void main(String[] args) {
Klawiatura klawiatura = new Klawiatura();
Figura[] figury = new Figura[5];

System.out.println("Podaj promien koła:");
Integer r=klawiatura.czytajLiczbeCalkowita();
figury[0] = new Kolo("cm", 10);

System.out.println("Podaj bok prostokata:");
Integer a=klawiatura.czytajLiczbeCalkowita();
System.out.println("Podaj 2. bok prostokata:");
Integer b=klawiatura.czytajLiczbeCalkowita();
figury[1] = new Prostokat("cm", a, b);

System.out.println("Podaj bok trojkata prostokatnego:");
Integer c=klawiatura.czytajLiczbeCalkowita();
System.out.println("Podaj 2. bok trojkata prostokatnego:");
Integer d=klawiatura.czytajLiczbeCalkowita();
System.out.println("Podaj wysokosc trojkata prostokatnego:");
Integer h=klawiatura.czytajLiczbeCalkowita();
figury[2] = new Trojkat ("cm", c, d, h);

System.out.println("Podaj podstawe trapezu:");
Integer f=klawiatura.czytajLiczbeCalkowita();
System.out.println("Podaj 2. podstawe trapezu:");
Integer g=klawiatura.czytajLiczbeCalkowita();
System.out.println("Podaj wysokosc trapezu:");
Integer j=klawiatura.czytajLiczbeCalkowita();
System.out.println("Podaj 3. bok trapezu:");
Integer x=klawiatura.czytajLiczbeCalkowita();
System.out.println("Podaj 4. bok trapezu:");
Integer y=klawiatura.czytajLiczbeCalkowita();
figury[3] = new Trapez ("cm", f, g, j, x, y);

System.out.println("Podaj bok rombu:");
Integer k=klawiatura.czytajLiczbeCalkowita();
System.out.println("Podaj przekatna rombu:");
Integer p=klawiatura.czytajLiczbeCalkowita();
System.out.println("Podaj 2. przekatna rombu:");
Integer q=klawiatura.czytajLiczbeCalkowita();
figury[4] = new Romb ("cm", k, p, q);
for (int i = 0; i < figury.length; i++) {
figury[i].wypiszObwod();
figury[i].wypiszPole();
}
}
}

Wyszukiwarka

Podobne podstrony:
zestawy cwiczen przygotowane na podstawie programu Mistrz Klawia 6
Alt klawiatura numeryczna Kurs dla opornych
Podstawa komputerowego redagowania tekstu nie bój się klawiatury
klawiatrura do avr
interfejs PS2 myszka klawiatura
Obce układy klawiatury w Puppy Linux
Writer Cyrylica na normalnej klawiaturze
Skróty klawiaturowe Excel 2007
zestawy cwiczen przygotowane na podstawie programu Mistrz Klawia 8
Klawiatura
obsluga klawiatury
Skróty klawiaturowe Adobe Photoshop
Klawiat
opis klawiatury
zestawy cwiczen przygotowane na podstawie programu Mistrz Klawia 4

więcej podobnych podstron