Karol Leszczyński Gr.13 WIMIR
Sprawozdanie Java Lab1
Odpowiedzi na pytania:
1.
-public - Pozwala na dostęp do danego elementu ze wszystkich klas.
-private - Dostęp do danego elementu ograniczony tylko do klasy w którym jest zdefiniowany
-protected - Pozwala na dostęp do danego elementu tylko dla klas dziedziczących oraz klas z tego
samego pakietu.
-package-private(default) - Brak modyfikatora. Pozwala na dostęp do danego elementu tylko
klasom z danego pakietu.
2.
Akcesory tworzy się by móc z zewnątrz modyfikować lub odczytywać pola klasy, gdyż pola klasy
nie powinny być bezpośrednio dostępne z zewnątrz.
Akcesory posiadają poziom dostępu public.
3.
Konstruktor służy do automatycznego inicjowania obiektów.
poziom_dostępu class nazwa_klasy
{
nazwa_klasy()//konstruktor domyślny
{
.
.
.
}
nazwa_klasy(typ_argumentu_1 nazwa_argumentu_1, ..., typ_argumentu_n
nazwa_argumentu_n) //konstruktor z parametrami
{
.
.
.
}
}
4.
Metoda jest to fragment programu, który możemy wykonać poprzez podanie nazwy metody i
argumentów(o ile są potrzebne).
W języku C metoda nazywana jest funkcją.
poziom_dostępu typ_zwracanej_wartości nazwa_metody(typ_argumentu_1
nazwa_argumentu_1, ..., typ_argumentu_n nazwa_argumentu_n)
{
.
. //kod metody
.
return zwracana_wartosc; //występuje o ile metoda nie jest typu void
}
Wynik z omówieniem:
p1: Opis: Punkt materialny | Masa: 1.0 | Główny moment bezwładności: 0.0 | Moment bezwładności
względem osi oddalonej o 4: 16.0
p2: Opis: Punkt materialny | Masa: 5.0 | Główny moment bezwładności: 0.0 | Moment bezwładności
względem osi oddalonej o 4: 80.0
p1: Opis: Punkt materialny | Masa: 5.34 | Główny moment bezwładności: 0.0 | Moment
bezwładności względem osi oddalonej o 4: 85.44
p[0]: Opis: Punkt materialny | Masa: 5.0 | Główny moment bezwładności: 0.0 | Moment
bezwładności względem osi oddalonej o 4: 80.0
p[1]: Opis: Punkt materialny | Masa: 15.0 | Główny moment bezwładności: 0.0 | Moment
bezwładności względem osi oddalonej o 4: 240.0
p[2]: Opis: Punkt materialny | Masa: 25.0 | Główny moment bezwładności: 0.0 | Moment
bezwładności względem osi oddalonej o 4: 400.0
p[3]: Opis: Punkt materialny | Masa: 35.0 | Główny moment bezwładności: 0.0 | Moment
bezwładności względem osi oddalonej o 4: 560.0
p[4]: Opis: Punkt materialny | Masa: 45.0 | Główny moment bezwładności: 0.0 | Moment
bezwładności względem osi oddalonej o 4: 720.0
p[5]: Opis: Punkt materialny | Masa: 55.0 | Główny moment bezwładności: 0.0 | Moment
bezwładności względem osi oddalonej o 4: 880.0
p[6]: Opis: Punkt materialny | Masa: 65.0 | Główny moment bezwładności: 0.0 | Moment
bezwładności względem osi oddalonej o 4: 1040.0
p[7]: Opis: Punkt materialny | Masa: 75.0 | Główny moment bezwładności: 0.0 | Moment
bezwładności względem osi oddalonej o 4: 1200.0
p[8]: Opis: Punkt materialny | Masa: 85.0 | Główny moment bezwładności: 0.0 | Moment
bezwładności względem osi oddalonej o 4: 1360.0
p[9]: Opis: Punkt materialny | Masa: 95.0 | Główny moment bezwładności: 0.0 | Moment
bezwładności względem osi oddalonej o 4: 1520.0
Bryła sztywna: Opis: Bryła sztywna | Masa: 5069.6694 | Główny moment bezwładności: 7561666.0
Pierwsza linijka wyświetla informacje o obiekcie p1 stworzonego za pomocą konstruktora
domyślnego (domyślna masa to 1).
Druga linijka wyświetla informacje o obiekcie p2 stworzonego za pomocą konstruktora z
parametrem. Parametr wynosił 5, więc masa to także 5.
Trzecia linijka wyświetla informacje o obiekcie p1, w którym za pomocą akcesora zmieniono
wartość masy na 5.34.
Następne linijki wyświetlają informacje o dziesięciu obiektach z tablicy p. Każdy posiada inną
masę.
W każdym przypadku główny moment bezwładności wynosił 0, ponieważ dla punktu materialnego
zawsze tyle wynosi.
W każdym przypadku do obliczenia momentu bezwładności względem dowolnej osi przyjąłem, że
oś oddalona jest o 4.
Moment jest obliczany ze wzoru I = Ig + m*r^2
Ig - główny moment bezwładnosci
m - masa punktu
r - odległość punktu od osi
Ostatnia linijka wyświetla informacje o bryle sztywnej składającej się ze stu losowo
rozmieszczonych punktów materialnych o losowych masach.
Masa bryły jest to suma mas wszystkich punktów wchodzących w jej skład.
Główny moment bezwładności liczony jest ze wzoru Ł(m*r^2)
m - masa punktu
r - odległość punktu od środka ciężkości bryły
Kod:
import java.util.Random;
public class Lab1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
material_point p1 = new material_point(); //Stworzenie nowego obiektu klasy z użyciem
konstruktora domyślnego
material_point p2 = new material_point(5.0f); //Stworzenie drugiego obiektu klasy z użyciem
konstruktora z parametrami
System.out.println("p1: Opis: "+p1+" | Masa: "+p1.getMass()+" | Główny moment bezwładności:
"+p1.cInertia()+
" | Moment bezwładności względem osi oddalonej o 4: "+p1.inertia(4.0f));
//Wyświetlenie na konsoli informacji o pierwszym obiekcie
System.out.println("p2: Opis: "+p2+" | Masa: "+p2.getMass()+" | Główny moment bezwładności:
"+p2.cInertia()+
" | Moment bezwładności względem osi oddalonej o 4: "+p2.inertia(4.0f));
//Wyświetlenie na konsoli informacji o drugim obiekcie
p1.setMass(5.34f); //Zmiana masy pierwszego obiektu za pomocą akcesora
System.out.println("p1: Opis: "+p1+" | Masa: "+p1.getMass()+" | Główny moment bezwładności:
"+p1.cInertia()+
" | Moment bezwładności względem osi oddalonej o 4: "+p1.inertia(4.0f));
//Wyświetlenie na konsoli informacji o zmienionym obiekcie
material_point[] p;
p = new material_point[10]; //Stworzenie tablicy obiektów
for(int i=0;i<10;i++)
{
p[i] = new material_point(i*10+5); //Zainicjowanie obiektów z tablicy
}
for(int i=0;i<10;i++)
{
System.out.println("p["+i+"]: Opis: "+p[i]+" | Masa: "+p[i].getMass()+" | Główny moment
bezwładności: "+p[i].cInertia()+
" | Moment bezwładności względem osi oddalonej o 4: "+p[i].inertia(4.0f));
//Wyświetlenie na konsoli informacji o wszystkich obiektach z tablicy
}
Random generator = new Random();
material_point[] p3;
p3 = new material_point[100]; //Stworzenie tablicy obiektów
for(int i=0;i<100;i++)
{
p3[i] = new
material_point(generator.nextFloat()*100,generator.nextFloat()*100,generator.nextFloat()*100); ////Zainicjowanie
obiektów z tablicy losowymi argumentami
}
rigid_body b1 = new rigid_body(p3); //Stworzenie nowego obiektu bryły sztywnej
System.out.println("Bryła sztywna: Opis: "+b1+" | Masa: "+b1.mass()+" | Główny moment
bezwładności: "+b1.cInertia());
}
}
public class material_point {
private float mass; //Prywatne pole masy
private float x; //Prywatne pole współrzędnej x
private float y; //Prywatne pole współrzędnej y
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;
}
public float getX() //Akcesor służący do odczytu wartości współrzędnej x
{
return x;
}
public void setX(float xx) //Akcesor służący do zmiany wartości współrzędnej x
{
x = xx;
}
public float getY() //Akcesor służący do odczytu wartości współrzędnej y
{
return y;
}
public void setY(float yy) //Akcesor służący do zmiany wartości współrzędnej xy
{
y = yy;
}
material_point() //Konstruktor domyślny inicjujący masę stałą wartością
{
mass=1.0f;
x=0;
y=0;
}
material_point(float m) //Konstruktor z parametrami pozwalający na nadanie dowolnej wartości masy
{
setMass(m);
x=0;
y=0;
}
material_point(float m, float xx, float yy) //Konstruktor z parametrami pozwalający na nadanie dowolnej
wartości masy oraz współrzędnych x i y
{
setMass(m);
x=xx;
y=yy;
}
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";
}
}
public class rigid_body {
private material_point[] p;//Prywatna tablica obiektów
public material_point[] getPoints() //Akcesor służący do odczytu tablicy obiektów
{
return p;
}
public void setPoints(material_point[] pp) //Akcesor służący do zmiany tablicy obiektów
{
p = pp;
}
rigid_body(material_point[] pp) //Konstruktor z parametrem
{
p = pp;
}
public float mass() //Metoda obliczająca masę brył
{
float mass=0;
for(int i=0;i
{
mass+=p[i].getMass();
}
return mass;
}
private float massX() //Metoda obliczająca współrzędną X środka ciężkości bryły
{
float x=0;
for(int i=0;i{
x+=p[i].getMass()*p[i].getX();
}
return x/mass();
}
private float massY() //Metoda obliczająca współrzędną Y środka ciężkości bryły
{
float y=0;
for(int i=0;i{
y+=p[i].getMass()*p[i].getY();
}
return y/mass();
}
public float cInertia() //Metoda obliczająca główny moment bezwładności
{
float I=0;
float x=massX();
float y=massY();
for(int i=0;i {
I+=p[i].getMass()*((x-p[i].getX())*(x-p[i].getX())+(y-p[i].getY())*(y-p[i].getY()));
}
return I;
}
public float inertia(float r) //Metoda 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 "Bryła sztywna";
}
}
Wyszukiwarka
Podobne podstrony:
sprawozdanie java 3
Sprawozdanie Java cw1
Sprawozdanie AIM LAB1 Piotrowski
Sprawozdanie Nsst LAB1 KACZMAREK (1)
GR 101A Karol Marzec Sprawozdanie nr 5
Historia I r II stopnia Gr 1 Statystyka z demografiÄ historycznÄ wykĹ ad 2012 13
Mechanika I 13 14 L gr 1 8a
Sprawozdanie ćw 13 (2)
Kolokwium 1 2012 13 (termin I, gr A)
Kolokwium 2 2012 13 (termin I, gr A)
Kolokwium 1 2012 13 (termin I, gr B)
Sprawozdanie Lab1 gr7B
gk sprawozdanie lab1
więcej podobnych podstron