|
Forum 1 Grupy Ćwiczeniowej Forum studentów informatyki Politechniki Białostockiej |
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
czart
Dołączył: 02 Mar 2007
Posty: 168
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: Z lasu
|
Wysłany: Sob 23:15, 17 Lis 2007 Temat postu: Programowanie Obiektowe - [java] laborki z Boldakiem, figury |
|
|
Kod: |
package trojkatyczworokaty;
import java.util.*;
public class Punkt
{
/** Creates a new instance of Punkt */
public Punkt()
{
Random m = new Random();
x = m.nextInt(30);
y = m.nextInt(30);
}
public Punkt(Punkt p)
{
x = p.x;
y = p.y;
}
public Punkt(int x, int y)
{
this.x = x;
this.y = y;
}
public void przesun(int x, int y)
{
this.x += x;
this.y += y;
}
public String toString()
{
return ("Wspolrzedne punktu: "+x+" : "+y);
}
private int x;
private int y;
}
|
Kod: |
package trojkatyczworokaty;
public class Linia
{
/** Creates a new instance of Linia */
public Linia(Punkt p1, Punkt p2)
{
this.p1 = new Punkt(p1);
this.p2 = new Punkt(p2);
}
public Linia(Linia l)
{
p1 = new Punkt(l.p1);
p2 = new Punkt(l.p2);
}
public void przesun(int x, int y)
{
p1.przesun(x,y);
p2.przesun(x,y);
}
public String toString()
{
return ("Wspolrzedne linii:\n\t"+p1+"\n\t"+p2);
}
private Punkt p1,p2;
}
|
Kod: |
package trojkatyczworokaty;
public class Trojkat
{
/** Creates a new instance of Trojkat */
public Trojkat(Punkt p1, Punkt p2, Punkt p3)
{
l1 = new Linia(p1,p2);
l2 = new Linia(p2,p3);
l3 = new Linia(p3,p1);
}
public Trojkat(Trojkat tr)
{
l1 = new Linia(tr.l1);
l2 = new Linia(tr.l2);
l3 = new Linia(tr.l3);
}
public void przesun(int x, int y)
{
l1.przesun(x,y);
l2.przesun(x,y);
l3.przesun(x,y);
}
public String toString()
{
return ("Trojkat:\n\tLinia nr1: "+l1+"\n\tLinia nr2: "+l2+"\n\tLinia nr3: "+l3);
}
private Linia l1,l2,l3;
}
|
Kod: |
package trojkatyczworokaty;
public class Czworokat
{
/** Creates a new instance of Czworokat */
public Czworokat(Punkt p1, Punkt p2, Punkt p3, Punkt p4)
{
l1 = new Linia(p1,p2);
l2 = new Linia(p2,p3);
l3 = new Linia(p3,p4);
l4 = new Linia(p4,p1);
}
public Czworokat(Czworokat cz)
{
l1 = new Linia(cz.l1);
l2 = new Linia(cz.l2);
l3 = new Linia(cz.l3);
l4 = new Linia(cz.l4);
}
public void przesun(int x, int y)
{
l1.przesun(x,y);
l2.przesun(x,y);
l3.przesun(x,y);
l4.przesun(x,y);
}
public String toString()
{
return ("Czworokat:\n\tLinia nr1: "+l1+"\n\tLinia nr2: "+l2+"\n\tLinia nr3: "+l3+"\n\tLinia nr4: "+l4);
}
private Linia l1,l2,l3,l4;
}
|
Kod: |
package trojkatyczworokaty;
import java.util.ArrayList;
/**
*
* @author student
*/
public class Obraz
{
/** Creates a new instance of Obraz */
public Obraz()
{
}
public void dodajTrojkat (Trojkat tr)
{
tTrojkaty.add(new Trojkat(tr));
}
public void dodajCzworokat (Czworokat cz)
{
tCzworokaty.add(new Czworokat(cz));
}
public void wypiszStan()
{
System.out.println("Trojkatow: "+tTrojkaty.size()+"\n");
System.out.println("Czworokatow: "+tCzworokaty.size()+"\n");
}
public String toString()
{
String wynik="";
int i;
wynik+=("Obraz obiekty:\nTrojkaty:\n========================\n");
for(i=0;i<tTrojkaty.size();i++)
{
wynik+=(tTrojkaty.get(i));
}
wynik+=("====================\nCzworokaty:\n");
for(i=0;i<tCzworokaty.size();i++)
{
wynik+=(tCzworokaty.get(i));
}
return wynik;
}
public void przesun(int x, int y)
{
int i;
for(i=0;i<tTrojkaty.size();i++)
{
tTrojkaty.get(i).przesun(x,y);
}
for(i=0;i<tCzworokaty.size();i++)
{
tCzworokaty.get(i).przesun(x,y);
}
}
private ArrayList<Trojkat> tTrojkaty = new ArrayList<Trojkat>();
private ArrayList<Czworokat> tCzworokaty = new ArrayList<Czworokat>();
}
|
Kod: |
package trojkatyczworokaty;
public class Main
{
/** Creates a new instance of Main */
public Main()
{
}
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
Punkt p1 = new Punkt();
Punkt p2 = new Punkt();
Punkt p3 = new Punkt();
Punkt p4 = new Punkt();
Linia l = new Linia(p1,p2);
Trojkat t = new Trojkat(p1,p2,p3);
Czworokat cz = new Czworokat(p1,p2,p3,p4);
Obraz obr = new Obraz();
obr.dodajCzworokat(cz);
obr.dodajTrojkat(t);
obr.przesun(2,2);
System.out.println(obr);
}
}
|
|
|
Powrót do góry |
|
|
|
|
czart
Dołączył: 02 Mar 2007
Posty: 168
Przeczytał: 0 tematów
Ostrzeżeń: 0/5 Skąd: Z lasu
|
Wysłany: Sob 10:47, 24 Lis 2007 Temat postu: |
|
|
To samo tylko z dziedziczeniem. Klasy zostają te same. Zmieniłem nazwe paczki na Dziedziczenie
Kod: | ...
public class Czworokat extends Figura
... |
Kod: | ...
public class Trojkat extends Figura
... |
Kod: | package Dziedziczenie;
public class Figura
{
public Figura()
{
}
} |
Kod: | package Dziedziczenie;
public class Kwadrat extends Prostokat
{
/** Creates a new instance of Kwadrat */
public Kwadrat(Punkt lg, int a)
{
super(lg,a,a);
}
} |
Kod: | package Dziedziczenie;
public class Prostokat extends Czworokat
{
/** Creates a new instance of Prostokat */
public Prostokat(Punkt lg, int a, int b)
{
super(lg,
new Punkt(lg.getX()+a,lg.getY()),
new Punkt(lg.getX()+a,lg.getY()-b),
new Punkt(lg.getX(),lg.getY()-b));
}
} |
W klasie Punkt 2 nowe metody:
Kod: | ...
public int getX()
{
return x;
}
public int getY()
{
return y;
}
...
|
Kod: |
package Dziedziczenie;
public class Main
{
public static void main(String[] args)
{
Figura f[] = new Figura[10];
f[0] = new Prostokat(new Punkt(1,1),3,5);
f[1] = new Prostokat(new Punkt(2,3),7,6);
f[2] = new Kwadrat(new Punkt(3,3),4);
f[3] = new Trojkat(new Punkt(1,1),new Punkt(3,3),new Punkt(6,6));
f[4] = new Kwadrat(new Punkt(3,2),6);
f[5] = new Kwadrat(new Punkt(3,1),8);
int i =0;
int kwadraty=0;
int trojkaty=0;
int prostokaty=0;
for(i=0;i<10;i++)
{
if(f[i] instanceof Kwadrat) kwadraty++;
if(f[i] instanceof Trojkat) trojkaty++;
//if((f[i] instanceof Prostokat)&&!(f[i] instanceof Kwadrat)) prostokaty++;
if(f[i] instanceof Prostokat) prostokaty++;
}
System.out.println(kwadraty+" kwadratów, "+trojkaty+" trojkątów i "+prostokaty+" prostokatow.");
}
}
|
|
|
Powrót do góry |
|
|
|
Możesz pisać nowe tematy Możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
|