PB162/1213: Porovnání verzí

Z FI WIKI
Přejít na: navigace, hledání
(cv4)
(Úkoly)
Řádka 85: Řádka 85:
  
 
1)
 
1)
 +
* vytvořte třídu Point... atribut x,y, parametrický konstruktor s dvěma parametry, toString "[x,y]"
 +
* vytvořte třídu MyTriangle... 1 atribut pro vrchol A a 3 atributy pro délky stran, to String "A [x,y], B [x,y], C [x,y]
 +
* jeho metoda main ... vytvoří 2 trojúhelníky, nainicializuje různými hodnotami, vypíše o nich informace
 +
 +
2)
 
* vytvořte (prázdnou) třídu Square
 
* vytvořte (prázdnou) třídu Square
 
* vytvořte (prázdnou) třídu Triangle
 
* vytvořte (prázdnou) třídu Triangle
Řádka 91: Řádka 96:
 
** jaké vytvoříte vztahy mezi těmito třídami pomocí rozhraní Rotable a dědičností?
 
** jaké vytvoříte vztahy mezi těmito třídami pomocí rozhraní Rotable a dědičností?
  
2)
+
3)
* vytvořte třídu Point... atribut x,y, parametrický konstruktor s dvěma parametry, toString "[x,y]"
+
* vytvořte třídu MyTriangle... 1 atribut pro vrchol A a 3 atributy pro délky stran
+
 
* vytvořte třídu EquilateralTriangle ... rovnostranný trojúhelník
 
* vytvořte třídu EquilateralTriangle ... rovnostranný trojúhelník
 +
** jak?

Verze z 8. 10. 2007, 13:55

Úloha na 3. cvičení

Simulace mezinárodního obchodu se zbraněmi

  • samotné zbraně
  • výrobci
  • obchodníci
  • oběti

Zbraň

 
public class Weapon {
	private String name;
	private int price;
	public Weapon(String newName, int price) {
		name=newName;
		this.price=price;
 
	}
	public String getName() {
		return name;
	}
	public int getPrice() {
		return price;
	}
}

Výrobce

 
public class WeaponFactory {
	private String name;
	public Weapon buildWeapon(String name, int price);
	public static void main(String[] args);
}

Obchodníci

 
public interface WeaponDealer {
	int getWeaponCount();
	void buyWeapon(Weapon w);
	void sellWeapon(Weapon w);
	void resellWeapon(Weapon w, WeaponDealer wd);
}


Úkol

  • Překupník, má své jméno, má své peníze, může být dealerem, může zároveň obchodovat jen s jednou zbraní. nákup zbraně musí zaručit svými penězi (tj. když koupí zbraň, o její cenu se sníží množství jeho penez v peněžence).
  • Stát - ti jsou taky překupníky zbraní nákup a prodej nepracuje s penězi, to se zaplatí ze státního rozpočtu
    • navíc má atribut "počet obyvatel", a metodu "testovat zbraň", ta dostane jako parametr zbraň a po jejím testu se sníží počet obyvatel o 5000.
    • bonusový úkol v bonusové úloze - může pracovat až se 2 zbraněmi naráz
    • akce sell a buy vypisou informace, kdo co koupil
  • Továrna - vyrábí zbraně.
    • + spustitelná metoda ...
      • vytvoříme překupníka a nějak nápaditě ho pojmenujeme
      • vytvoříme stát, který je schopný otestovat aspoň jednu zbraň, vyhlásíme nezávislost
      • vytvoříme továrnu
        • tovarna postupně vyrobí několik zbraní
        • jednu prodá státu, ten ji vyzkouší na obyvatelstvu
        • druhou prodá překupníkovi, ten ji prodá státu, ten mu ji prodá zpět a on ji prodá pryč...
  • začátek budeme řešit na cvičení, dokončit můžete doma (+ bod za přidání globální statistiky, výpisu stavu objektů...)

4. cvičení

  • Úloha 3; ... do 19. října
  • objekty:
    • obdélník
    • čtverec
  • objekty:
    • trojúhelník
    • rovnostranný trojúhelník
  • objekty:
    • trojúhelník
    • obdélník
  • objekty:
    • vrchol
    • trojúhelník

Úkoly

0)

  • vytvořte rozhraní Rotable s metodou Rotate(int angle);

1)

  • vytvořte třídu Point... atribut x,y, parametrický konstruktor s dvěma parametry, toString "[x,y]"
  • vytvořte třídu MyTriangle... 1 atribut pro vrchol A a 3 atributy pro délky stran, to String "A [x,y], B [x,y], C [x,y]
  • jeho metoda main ... vytvoří 2 trojúhelníky, nainicializuje různými hodnotami, vypíše o nich informace

2)

  • vytvořte (prázdnou) třídu Square
  • vytvořte (prázdnou) třídu Triangle
  • vytvořte (prázdnou) třídu Point
  • vytvořte (prázdnou) třídu GeometricalObject
    • jaké vytvoříte vztahy mezi těmito třídami pomocí rozhraní Rotable a dědičností?

3)

  • vytvořte třídu EquilateralTriangle ... rovnostranný trojúhelník
    • jak?