Dawid Janus gr.12
Sprawozdanie
Laboratorium Programowanie obiektowe w Javie - zajęcia nr 1
1.Kod opracowanych klas:
package test1;
public class Pmat {
private float mass; //definiujemy pole massy z modyfikatorem prywatnym
void setmass(float m) //przypisanie podanej wartości masy
{
if (m>=0) //sprawdzenie poprawności danych
{
mass=m;
}
else
System.out.println("podano nieprawidlową wartosc masy.");
}
float getmass() //pobranie wartosci zmiennej mass
{
return mass;
}
Pmat() //Konstruktor
{
setmass(2); //domyslny
}
Pmat(float a) //zwykly
{
setmass(a);
}
//Metody
public float moment() //obliczenie momentu bezwladnosci dla punktu
materialnego
{
return 0;
}
public float steiner(float r) // obliczenie momentu bezwladnosci wzgledem
dowolnej osi przesunietej o r
{
float s;
s=(moment()+mass*r*r);
return(s);
}
}
package test1;
public class test1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//Tworzenie obiektów
Pmat p1=new Pmat(5);
Pmat p2=new Pmat();
//Informacje o pierwszym obiekcie
System.out.println("Masa "+ p1.getmass());
System.out.println("Moment bezwladnosci: " + p1.steiner(0));
System.out.println("Moment względem nowej osi " + p1.steiner(2));
//Informacje o drugim obiekcie
System.out.println("Masa "+ p2.getmass());
System.out.println("Moment bezwladnosci: " +p2.steiner(0));
System.out.println("Moment względem nowej osi " + p2.steiner(2));
//zmiana masy pierwszego obiektu za pomoca akcesora
p1.setmass(10);
//Informacje o pierwszym obiekcie po zmainie masy
System.out.println("Masa "+ p1.getmass());
System.out.println("Moment bezwladnosci: " + p1.steiner(0));
System.out.println("Moment względem nowej osi " + p1.steiner(2));
// Tablica obiektow
Pmat tab[] = new Pmat[3]; //deklaracja tablicy
for(int i=0; i<3; i=i+1)
{
int p=(i+1)*2; //pole pomocnicze ustalające masę punktu
tab[i]= new Pmat(p); //deklaracja elementu tablicy
}
System.out.println("Tablica obiektow"); //wyswietlanie informacji o obiektach w
tablicy
for (int i=0; i<3; i=i+1)
{
System.out.println(" Masa " +tab[i].getmass()+ " Moment
glowny:"+tab[i].steiner(0)+ " Moment wzgledem osi przesunietej o r=3:
"+tab[i].steiner(3));
}
}
}
2.Wynik programu testowego:
Masa 5.0
Moment bezwladnosci: 0.0
Moment względem nowej osi 20.0
Masa 2.0
Moment bezwladnosci: 0.0
Moment względem nowej osi 8.0
Masa 10.0
Moment bezwladnosci: 0.0
Moment względem nowej osi 40.0
Tablica obiektow
Masa 2.0 Moment glowny:0.0 Moment wzgledem osi przesunietej o r=3: 18.0
Masa 4.0 Moment glowny:0.0 Moment wzgledem osi przesunietej o r=3: 36.0
Masa 6.0 Moment glowny:0.0 Moment wzgledem osi przesunietej o r=3:
3.Odpowiedz na zadane pytania
Rodzaje poziomów dostępów do pól i metod w Java:
default - pozwala na dostęp do danego elementu tylko klasom z danego pakietu,
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.
Akcesory to metody, których obiekt używa do odczytu i zapisu swoich atrybutów.
Umożliwiają np. ustalenie kontroli wartości, dzięki czemu unikniemy problemów z
działaniem programów (kod zewnętrzny nie będzie w stanie ustawić błędnej wartości). Wiążą
się przede wszystkim z poziomem dostępu private , ponieważ zmiana pola private jest
możliwa tylko z poziomu własnej klasy (czyli jedynie za pomocą akcesora).
Kontruktory to metody stosowane do tworzenia nowych obiektów danej klasy.
Wyróżniamy m.in. kontruktory domyślne (można je uruchamiać bez podania argumentów) i
kontruktory zwykłe (uruchamiane z podanym co najmniej jednym argumentem). Konstruktor
domyślny może wypełniać pola obiektu danymi domyślnymi. Konstruktor zwykły umożliwia
łatwiejsze i szybsze definiowanie poszczególnych obiektów.
Przykład:
//Domyslny
Punkt ()
{
setmasa(1);
}/Zwykly
Punkt(float a)
{
setmasa(a);
}
Metoda to inaczej funkcja. Zwykle wykonuje się w niej obliczenia lub inne operacje
potrzebne do działania programu. Mogą przyjmować parametry lub działać na rzecz obiektu,
który je wywołuje.
Przykłady:
void metoda1() {& } //metoda która nic nie zwraca
float metoda2() {return 0;} //metoda zwraca liczbę 0
float metoda3(float a) {return a;} //metoda przyjmuje jedną wartość i zwraca ją
4.Zadanie na ocene bardzon dobrą
package dodatek;
public class bryla {
private double masa; //konstruktory
private double promien;
void set_masa(double m) //akcesor set
{
masa=m;
}
public double get_masa() //akcesor get
{
return masa;
}
public double get_promien()
{
return promien;
}
bryla(double m, double r) //konstruktor z argumentami
{
masa=m;
promien=r;
}
public double moment() //motedo zwracający moment główny {
return 0;
}
public double steiner(double m, double l) //metoda zwracajaca momentu
bezwładności z tw steinera względem środka masy
{
return (moment()+m*l*l);
}
}
package dodatek;
public class prog {
public static void main(String[] args) {
// TODO Auto-generated method stub
int l_punkt = 1+(int)(Math.random()*20); //losowanie ilości punktów
bryły
bryla[] punkty = new bryla[l_punkt]; //tworzenie tablicy zawierającej
punkty bryły
for (int i=0;i<=(l_punkt-1);i++)
{
punkty[i]= new bryla(Math.random()*50,Math.random()*50);
//losowanie wartości masy i promienia poszczególnych punktów
}
double m, r;
double mianownik_sr_mas=0; //mianownik środka masy
double licznik_sr_mas=0; //licznik środka masy
double l=0; //odległość punktu od środka masy
double steiner_punktu=0; //moment bezwładności dla pojedynczego
punktu
double steiner_bryly=0; //moment bezwładności dla całej bryły
for (int i=0;i<=(l_punkt-1);i++)
{
m=punkty[i].get_masa(); //pobranie wartości masy i promienia z
tablicy
r=punkty[i].get_promien();
mianownik_sr_mas+=m; //obliczenie mianownika środka masy
licznik_sr_mas+=(m*r); // obliczenie licznika środka masy
}
System.out.println("Środek masy bryły wynosi " +
(licznik_sr_mas/mianownik_sr_mas)+"\n");
for (int i=0;i<=(l_punkt-1);i++)
{
m=punkty[i].get_masa();
r=punkty[i].get_promien();
l=(licznik_sr_mas/mianownik_sr_mas)-r; //obliczenie odległości
punktów od środka masy
steiner_punktu=punkty[i].steiner(m, l); //obliczenie momentu
dla pojedynczych punktów
System.out.println("Punkt " + (i+1) + " bryły, o masie: " +
punkty[i].get_masa() + " i promieniu " + punkty[i].get_promien()+" posiada moment
bezwładności " + steiner_punktu + "\n\n");
steiner_bryly+=steiner_punktu; //obliczenie momentu dla całej
bryły
}
System.out.println("\n\n" + "Moment bezwładności dla bryły
wynosi: " + steiner_bryly);
}
}
Wynik programu
Środek masy bryły wynosi 21.606883942891255
Punkt 1 bryły, o masie: 32.41554465375445 i promieniu 42.46090491489446 posiada
moment bezwładności 14097.202396139939
Punkt 2 bryły, o masie: 33.8522540395623 i promieniu 2.915234596776839 posiada
moment bezwładności 11827.224527446251
Punkt 3 bryły, o masie: 47.391187954519786 i promieniu 12.383397829119803 posiada
moment bezwładności 4031.6961302432323
Punkt 4 bryły, o masie: 39.34925048910092 i promieniu 22.973149020440548 posiada
moment bezwładności 73.4524692176445
Punkt 5 bryły, o masie: 10.577905579430318 i promieniu 36.34941001662847 posiada
moment bezwładności 2299.023948155802
Punkt 6 bryły, o masie: 49.437068202121395 i promieniu 38.82797731578309 posiada
moment bezwładności 14661.356384259894
Punkt 7 bryły, o masie: 21.633887405311025 i promieniu 11.086995002673778 posiada
moment bezwładności 2394.1804211099407
Punkt 8 bryły, o masie: 33.64861468440588 i promieniu 2.146298750955161 posiada
moment bezwładności 12743.21411389326
Punkt 9 bryły, o masie: 12.185881929293462 i promieniu 40.75944302569033 posiada
moment bezwładności 4470.031538895552
Punkt 10 bryły, o masie: 5.621409527485377 i promieniu 19.303428567744806 posiada
moment bezwładności 29.826674280215364
Punkt 11 bryły, o masie: 34.02896502468211 i promieniu 23.732504566136374 posiada
moment bezwładności 153.75181475510797
Punkt 12 bryły, o masie: 17.119179359184187 i promieniu 3.311796081891533 posiada
moment bezwładności 5729.964629205609
Punkt 13 bryły, o masie: 7.630623016922067 i promieniu 0.3222650346943745 posiada
moment bezwładności 3456.9393142451
Punkt 14 bryły, o masie: 15.495732699715036 i promieniu 49.41994987133086 posiada
moment bezwładności 11986.98182213809
Punkt 15 bryły, o masie: 2.852284157258367 i promieniu 10.060352455810595 posiada
moment bezwładności 380.2733390425237
Moment bezwładności dla bryły wynosi: 88335.11952302817
Wyszukiwarka
Podobne podstrony:
Sprawozdanie Java Lab1 Karol Leszczyński gr 13sprawozdanie java 3sprawozdanie cw1 (1)sprawozdanie cw1Ćw1 wzor sprawozdaniajava text FieldPositionjavajava text CollationElementIteratorjava io InvalidClassExceptiontworzenie aplikacji w jezyku java na platforme androidsprawozdanie felixa2Sprawozdanie Konduktometriazmiany w sprawozdaniach finJava Tęczowy tekstErrata do sprawozdaniawięcej podobnych podstron