Sprawozdanie Java Lab2 Karol Leszczyński gr13

background image

Karol Leszczyński gr.13 WIMIR

Sprawozdanie Lab2 Java

Odpowiedzi na pytania:

1.
Jeśli w superklasie pole jest chronione(protected) to klasa pochodna ma do niego
bezpośredni dostęp

2.
super(); //konstruktor domyślny
super(argument 1, …, argument n); //konstruktor z parametrami

Konstruktor superklasy powinien być zawsze wykonany gdy wykonuję się
konstruktor klasy pochodnej.

3.
Jeśli w superklasie pole/metoda ma dostęp public lub protected mamy do nich dostęp
poprzez bezpośrednią nazwę nazwa_pola/metody() (o ile w naszej klasie pochodnej
nie ma pola/metody o tej samej nazwie) lub poprzez super.nazwa_pola/metody().
W innym przypadku musimy użyć akcesora.

4.
Przeciążenie metody stosuję się w celu użycia tej samej nazwy metody.
Przeciążone metody różnią się między sobą ilością i typem argumentów.

Wynik z omówieniem:

k: Opis: Kula | Masa: 10.0 | Promień: 5.0 | Główny moment bezwładności: 100.0
w: Opis: Walec | Masa: 5.0 | Promień: 3.0 | Wysokość: 20.0 | Główny moment
bezwładności: 22.5
p: Opis: Pręt | Masa: 5.0 | Promień: 2.0 | Długość: 50.0 | Główny moment bezwładności:
1066.7994
t[0]: Opis: Kula | Masa: 1.0 | Promień: 5.0 | Główny moment bezwładności: 10.0
t[1]: Opis: Walec | Masa: 1.0 | Promień: 5.0 | Wysokość: 20.0 | Główny moment
bezwładności: 12.5
t[2]: Opis: Pręt | Masa: 1.0 | Promień: 1.0 | Długość: 10.0 | Główny moment
bezwładności: 9.90413
t[3]: Opis: Kula | Masa: 2.0 | Promień: 3.0 | Główny moment bezwładności: 7.2000003
t[4]: Opis: Walec | Masa: 2.0 | Promień: 1.0 | Wysokość: 5.0 | Główny moment
bezwładności: 1.0
Momenty bezwładności względem osi oddalonej o 13:
t[0]:179.0
t[1]:181.5
t[2]:178.90413
t[3]:345.2
t[4]:339.0

Pierwsze 3 linijki pokazują informacje o utworzonych obiektach.
Kolejne 5 linijek pokazuje informacje o obiektach z utworzonej tablicy. Wypisane są
za pomocą pętli.
Ostatnie 5 linijek pokazuje momenty bezwładności względem osi oddalonej o 13 dla
obiektów z tej samej tablicy. Wypisane są za pomocą pętli.

background image

Kod:

public

class

Lab2 {

public

static

void

main(String[] args) {

//

TODO

Auto-generated method stub

kula k =

new

kula(5,10);

//Stworzenie nowych obiektów

walec w =

new

walec(3,20,5);

pret p =

new

pret(2,50,5);

System.

out

.println(

"k: Opis: "

+k+

" | Masa: "

+k.getMass()+

" | Promień:

"

+k.getRadius()+

//Wyświetlenie w konsoli informacji o obiektach

" | Główny moment bezwładności: "

+k.cInertia());

System.

out

.println(

"w: Opis: "

+w+

" | Masa: "

+w.getMass()+

" | Promień:

"

+w.getRadius()+

" | Wysokość: "

+w.getHeight()+

" | Główny moment bezwładności: "

+w.cInertia());

System.

out

.println(

"p: Opis: "

+p+

" | Masa: "

+p.getMass()+

" | Promień:

"

+p.getRadius()+

" | Długość: "

+p.getLength()+

" | Główny moment bezwładności: "

+p.cInertia());

material_point[] t;
t =

new

material_point[5];

//Stworzenie tablicy obiektów

t[0] =

new

kula();

t[1] =

new

walec();

t[2] =

new

pret();

t[3] =

new

kula(3,2);

t[4] =

new

walec(1,5,2);

for

(

int

i=0;i<5;i++)

//Wyświetlenie w konsoli informacji o obiektach

z tablicy z wykorzystaniem pętli

{

if

(t[i]

instanceof

kula)

System.

out

.println(

"t["

+i+

"]: Opis: "

+t[i]+

" | Masa:

"

+t[i].getMass()+

" | Promień: "

+((kula)t[i]).getRadius()+

" | Główny moment bezwładności:

"

+t[i].cInertia());

else

if

(t[i]

instanceof

walec)

System.

out

.println(

"t["

+i+

"]: Opis: "

+t[i]+

" | Masa:

"

+t[i].getMass()+

" | Promień: "

+((walec)t[i]).getRadius()+

" | Wysokość: "

+

((walec)t[i]).getHeight()+

" | Główny moment bezwładności:

"

+t[i].cInertia());

else

if

(t[i]

instanceof

pret)

System.

out

.println(

"t["

+i+

"]: Opis: "

+t[i]+

" | Masa:

"

+t[i].getMass()+

" | Promień: "

+((pret)t[i]).getRadius()+

" | Długość: "

+

((pret)t[i]).getLength()+

" | Główny moment bezwładności:

"

+t[i].cInertia());

}
System.

out

.println(

"Momenty bezwładności względem osi oddalonej o 13:"

);

for

(

int

i=0;i<5;i++)

//Wyświetlenie wartości momentów bezwładności

względem nowej osi dla obiektów z tablicy z wykorzystaniem pętli

{

System.

out

.println(

"t["

+i+

"]:"

+t[i].inertia(13));

}

}

}

background image

public

class

material_point {

private

float

mass

;

//Prywatne pole masy

public

float

getMass()

//Akcesor służący do odczytu wartości masy

{

return

mass

;

}

public

void

setMass(

float

m)

//Akcesor służący do zmiany wartości masy

{

if

(m>0)

mass

=m;

else

mass

=-m;

}
material_point()

//Konstruktor domyślny inicjujący masę stałą wartością

{

mass

=1.0f;

}
material_point(

float

m)

//Konstruktor z parametrami pozwalający na nadanie

dowolnej wartości masy

{

setMass(m);

}
material_point(

float

m,

float

xx,

float

yy)

//Konstruktor z parametrami

pozwalający na nadanie dowolnej wartości masy oraz współrzędnych

{

setMass(m);

}

public

float

cInertia()

//Metoda bez parametrów, obliczająca główny moment

bezwładności

{

return

0;

}

public

float

inertia(

float

r)

//Metoda przyjmująca jeden parametr, obliczająca

moment bezwładności z tw. Steinera

{

return

(cInertia() +

mass

*r*r);

}

public

String toString()

//Metoda zwracająca stały opis obiektu

{

return

"Punkt materialny"

;

}

}

background image

public

class

walec

extends

material_point {

private

float

radius

;

//Prywatne pole promienia

private

float

height

;

//Prywatne pole wysokości

public

float

getRadius()

//Akcesor służący do odczytu wartości promienia

{

return

radius

;

}

public

void

setRadius(

float

r)

//Akcesor służący do zmiany wartości promienia

{

if

(r>=0)

radius

= r;

else

radius

= -r;

}

public

float

getHeight()

//Akcesor służący do odczytu wartości wysokości

{

return

height

;

}

public

void

setHeight(

float

h)

//Akcesor służący do zmiany wartości wysokości

{

if

(h>=0)

height

= h;

else

height

= -h;

}
walec()

//Konstruktor domyślny

{

super

();

radius

= 5;

height

= 20;

}
walec(

float

r,

float

h,

float

m)

//Konstruktor z parametrami

{

super

(m);

setRadius(r);
setHeight(h);

}

public

float

cInertia()

//Metoda obliczająca główny moment bezwładności

{

return

0.5f*getMass()*

radius

*

radius

;

}

public

String toString()

//Metoda zwracająca stały opis obiektu

{

return

"Walec"

;

}

}

background image

public

class

kula

extends

material_point {

private

float

radius

;

public

float

getRadius()

//Akcesor służący do odczytu wartości promienia

{

return

radius

;

}

public

void

setRadius(

float

r)

//Akcesor służący do zmiany wartości promienia

{

if

(r>=0)

radius

= r;

else

radius

= -r;

}
kula()

//Konstruktor domyślny

{

super

();

radius

= 5;

}
kula(

float

r,

float

m)

//Konstruktor z parametrami

{

super

(m);

setRadius(r);

}

public

float

cInertia()

//Metoda obliczająca główny moment bezwładności

{

return

0.4f*getMass()*

radius

*

radius

;

}

public

String toString()

//Metoda zwracająca stały opis obiektu

{

return

"Kula"

;

}

}

background image

public

class

pret

extends

material_point {

private

float

length

;

private

float

radius

;

public

float

getRadius()

//Akcesor służący do odczytu wartości promienia

{

return

radius

;

}

public

void

setRadius(

float

r)

//Akcesor służący do zmiany wartości promienia

{

if

(r>=0)

radius

= r;

else

radius

= -r;

}

public

float

getLength()

//Akcesor służący do odczytu wartości długości

{

return

length

;

}

public

void

setLength(

float

l)

//Akcesor służący do zmiany wartości długości

{

if

(l>=0)

length

= l;

else

length

= -l;

}
pret()

//Konstruktor domyślny

{

super

();

radius

= 1;

length

= 10;

}
pret(

float

r,

float

l,

float

m)

//Konstruktor z parametrami

{

super

(m);

setRadius(r);
setLength(l);

}

public

float

cInertia()

//Metoda obliczająca główny moment bezwładności

{

return

((1.0f/12.0f)*getMass()*

length

*

length

+

(

float

)Math.

PI

*

radius

*

radius

*

radius

*

radius

/2);

}

public

String toString()

//Metoda zwracająca stały opis obiektu

{

return

"Pręt"

;

}

}

background image

Zadanie na ocenę bdb

Wynik z omówieniem:

---Obliczanie momentu bezwładności---

Wybierz bryłę dla której chcesz obliczyć moment:
Kula (Wpisz '1')
Walec ( Wpisz '2')
Pręt ( Wpisz '3')
Wpisz dowolny inny tekst by zakończyć program

1

Podaj masę:

4

Podaj promień:

2

Główny moment bezwładności wynosi: 6.4
Podaj odległość do nowej osi:

5

Moment bezwładności względem osi oddalonej o 5.0 wynosi: 106.4

Wybierz bryłę dla której chcesz obliczyć moment:
Kula (Wciśnij '1')
Walec (Wciśnij '2')
Pręt (Wciśnij '3')
Wciśnij dowolny inny klawisz by zakończyć program

5

Program najpierw pyta o typ bryły dla którego chcemy obliczyć moment
bezwładności.
Należy wpisać „1” jeśli chcemy kulę, „2” jeśli walec, a „3” jeśli pręt. Wpisanie
innego tekstu powoduje zamknięcie programu.
Po wybraniu bryły program pyta o jej parametry.
Po podaniu parametrów program oblicza i wypisuje główny moment bezwładności.
Następnie pyta o odległość od nowej osi względem której będzie obliczany nowy
moment bezwładności.
Potem oblicza i wypisuje ten moment.
Następnie program wraca do początku i ponownie pyta o typ bryły.

background image

Kod:

import

java.io.InputStreamReader;

import

java.io.BufferedReader;

import

java.io.IOException;

public

class

program_bdb {

public

static

void

main(String[] args){

//

TODO

Auto-generated method stub

try

{

System.

out

.println(

"---Obliczanie momentu bezwładności---"

);

InputStreamReader ISR =

new

InputStreamReader(System.

in

);

//Zamiana

strumienia bajtów w strumień znaków

BufferedReader BR =

new

BufferedReader(ISR);

//Buforowanie znaków

while

(

true

)

{

System.

out

.println(

"\nWybierz bryłę dla której chcesz

obliczyć moment:\n"

+

"Kula (Wpisz '1')\n"

+

"Walec (Wpisz '2')\n"

+

"Pręt (Wpisz '3')\n"

+

"Wpisz dowolny inny tekst by zakończyć

program"

);

String name = BR.readLine();

//Zczytanie tekstu na

wejściu. Wybór bryły

if

(name.equals(

"1"

)){

//Sprawdzenie czy wprowadzono "1"

System.

out

.println(

"Podaj masę:"

);

name = BR.readLine();

//Pobranie masy

float

m;

m = Float.parseFloat(name);

//Zamiana liczby z typu

String na typ float

System.

out

.println(

"Podaj promień:"

);

name = BR.readLine();

//Pobranie promienia

float

r;

r = Float.parseFloat(name);
kula k =

new

kula(r, m);

//Stworzenie obiektu

System.

out

.println(

"Główny moment bezwładności wynosi:

"

+k.cInertia());

//Wypisane głównego momentu bezwładności

System.

out

.println(

"Podaj odległość do nowej osi:"

);

name = BR.readLine();

//Pobranie odległości od osi

float

s;

s = Float.parseFloat(name);
System.

out

.println(

"Moment bezwładności względem osi

oddalonej o "

+s+

" wynosi: "

+k.inertia(s));

//Wypisane momentu bezwładności względem

nowej osi

}

else

if

(name.equals(

"2"

)){

//Sprawdzenie czy wprowadzono

"2"

System.

out

.println(

"Podaj masę:"

);

name = BR.readLine();

//Pobranie masy

float

m;

m = Float.parseFloat(name);
System.

out

.println(

"Podaj promień:"

);

name = BR.readLine();

//Pobranie promienia

float

r;

r = Float.parseFloat(name);
System.

out

.println(

"Podaj wysokość:"

);

name = BR.readLine();

//Pobranie wysokości

float

h;

h = Float.parseFloat(name);
walec w =

new

walec(r, h, m);

//Stworzenie obiektu

background image

System.

out

.println(

"Główny moment bezwładności wynosi:

"

+w.cInertia());

//Wypisane głównego momentu bezwładności

System.

out

.println(

"Podaj odległość do nowej osi:"

);

name = BR.readLine();

//Pobranie odległości od osi

float

s;

s = Float.parseFloat(name);
System.

out

.println(

"Moment bezwładności względem osi

oddalonej o "

+s+

" wynosi: "

+w.inertia(s));

//Wypisane momentu bezwładności względem

nowej osi

}

else

if

(name.equals(

"3"

)){

//Sprawdzenie czy wprowadzono

"3"

System.

out

.println(

"Podaj masę:"

);

name = BR.readLine();

//Pobranie masy

float

m;

m = Float.parseFloat(name);
System.

out

.println(

"Podaj promień:"

);

name = BR.readLine();

//Pobranie promienia

float

r;

r = Float.parseFloat(name);
System.

out

.println(

"Podaj długość:"

);

name = BR.readLine();

//Pobranie długości

float

l;

l = Float.parseFloat(name);
pret p =

new

pret(r, l, m);

//Stworzenie obiektu

System.

out

.println(

"Główny moment bezwładności wynosi:

"

+p.cInertia());

//Wypisane głównego momentu bezwładności

System.

out

.println(

"Podaj odległość do nowej osi:"

);

name = BR.readLine();

//Pobranie odległości od osi

float

s;

s = Float.parseFloat(name);
System.

out

.println(

"Moment bezwładności względem osi

oddalonej o "

+s+

" wynosi: "

+p.inertia(s));

//Wypisane momentu bezwładności względem

nowej osi

}

else

{

BR.close();
ISR.close();

break

;

//Zakończenie programu

}

}

}

catch

(IOException e) {

//obsługa wyjątku

//

TODO

Auto-generated catch block

e.printStackTrace();

}

}

}


Wyszukiwarka

Podobne podstrony:
Sprawozdanie Java Lab3 Karol Leszczyński gr13
lrm sprawozdanie kck lab2
sprawozdanie programowanie lab2
Java lab2
lrm sprawozdanie kck lab2
lrm sprawozdanie kck lab2
Badanie wyplywu cieczy ze zbior sprawozdanie z lab2 id 631079 (2)
Wibroakustyka Lab2 7 B Sprawozdanie
Sprawozdanie lab2
LAB2(1), I Semestr - Materialoznawstwo - sprawozdania
sprawozdanie lab2?bugger(2)12345678
Sprawozdania Karol, Współczynnik podziału, Gr
Sprawozdania Karol, Przewodnictwo elektrolitów
Sprawozdanie lab2
PBI Chłap Krupiński Sprawozdanie Lab2
Sprawozdania Karol, Farmakokinetyka
Lab2 sprawozdanie
lab2 sprawozdanie

więcej podobnych podstron