Professional Documents
Culture Documents
1. Veni konvertimet eksplicite (casting) aty ku ka nevoje ashtu qe vargu vijues i instruksioneve te kom-
pilohet ne menyre korrekte.
I x = new E();
x.f(6);
if ( x instanceof E )
{ x.g(); }
E y = x;
y.g();
e dhene interfejsi
2. Esht
Pyetjet 36 perbejne nje teresi. Per tu pergjegjur ne to, shqyrtoni klasat vijuese.
/** Modelon nj
e kart
e loje. */
public class Card
{ public static final String SPADES = "spades";
public static final String HEARTS = "hearts";
public static final String DIAMONDS = "diamonds";
public static final String CLUBS = "clubs";
public static final int SUIT_SIZE = 13;
public static final int ACE = 1;
public static final int JACK = 11;
public static final int QUEEN = 12;
public static final int KING = 13;
/** V
e vleren dhe ngjyr
en e kart
es.
* @param s - ngjyra
* @param c - vlera */
public Card(String s, int c)
{ suit = s;
count = c;
1
}
2
/** Pranon nj
e kart
e.
* @param c - karta qe pranohet */
public void receiveCard(Card c);
/** Afishon dor
en e lojtarit.
* @return nje varg i cili p
ermban kartat e dor
es */
public Card[] showCards();
}
import javax.swing.*;
/** Modelon nj
e lojtar kartash njeri */
public class HumanPlayer extends CardPlayer
{ /** Nd
erton lojtarin
* @param maxCards - numri maksimal i kartave
*/
public HumanPlayer(int maxCards)
{ super(maxCards); }
3
Tab. 1: Specifikimi i interfejsit p
er shp
erndar
esin e kartave
4. Shkruani nje aplikacion, TestDealer, i cili krijon 4 lojtare dhe nje objekt shperndares kartash, i cili
pastaj secilit nga lojtaret i ndan nga 5 karta.
5. Modifikoni aplikacionin nga detyra paraprake ashtu qe ne dritaren komanduese te afishohet dora (kartat
te cilat mban) e secilit nga lojtaret.
6. Vizatoni diagramin e klasave per aplikacionin nga detyra paraprake.
4
elesi i provimit A
C
1. Veni konvertimet eksplicite (casting) aty ku ka nevoje ashtu qe vargu vijues i instruksioneve te kom-
pilohet ne menyre korrekte.
I x = new E();
x.f(6);
if ( x instanceof E )
{ x.g(); }
E y = x;
y.g();
P
ergjegjja:
I x = new E();
x.f(6);
if ( x instanceof E )
{ ((E)x).g(); }
E y = (E)x;
y.g();
e dhene interfejsi
2. Esht
Pyetjet 36 perbejne nje teresi. Per tu pergjegjur ne to, shqyrtoni klasat vijuese.
/** Modelon nj
e kart
e loje. */
public class Card
{ public static final String SPADES = "spades";
public static final String HEARTS = "hearts";
public static final String DIAMONDS = "diamonds";
public static final String CLUBS = "clubs";
public static final int SUIT_SIZE = 13;
public static final int ACE = 1;
public static final int JACK = 11;
public static final int QUEEN = 12;
public static final int KING = 13;
1
private int count;
/** Ve vler
en dhe ngjyr
en e kart
es.
* @param s - ngjyra
* @param c - vlera */
public Card(String s, int c)
{ suit = s;
count = c;
}
2
count = count + 1;
}
}
}
import javax.swing.*;
/** Modelon nj
e lojtar kartash njeri */
public class HumanPlayer extends CardPlayer
{ /** Nd
erton lojtarin
* @param maxCards - numri maksimal i kartave
*/
public HumanPlayer(int maxCards)
{ super(maxCards); }
3
return response.equals("P") || response.equals("p");
}
}
P
ergjegjja:
/** Modelon nj
e shp
erndar
es kartash. */
public class Dealer
{ private CardDeck deck;
4. Shkruani nje aplikacion, TestDealer, i cili krijon 4 lojtare dhe nje objekt shperndares kartash, i cili
pastaj secilit nga lojtaret i ndan nga 5 karta.
P
ergjegjja:
4
P
ergjegjja:
TestDealer
main
CardPlayerBehavior
wantsCard(): boolean Dealer
receiveCard(Card c): void dealTo(CardPlayerBehavior p, int num): void
showCards(): Card[]
CardPlayer
CardDeck
wantsCard(): boolean
newCard(): Card
receiveCard(Card c): void
moreCards(): boolean
showCards(): Card[]
Card
HumanPlayer
suitOf(): String
wantsCard(): boolean
countOf(): int
5
Emri:
Pyetjet 14 perbejne nje teresi. Per tu pergjegjur ne to, shqyrtoni klasat vijuese.
/** Modelon nj
e kart
e loje. */
public class Card
{ public static final String SPADES = "spades";
public static final String HEARTS = "hearts";
public static final String DIAMONDS = "diamonds";
public static final String CLUBS = "clubs";
public static final int SUIT_SIZE = 13;
public static final int ACE = 1;
public static final int JACK = 11;
public static final int QUEEN = 12;
public static final int KING = 13;
/** Ve vler
en dhe ngjyr
en e kart
es.
* @param s - ngjyra
* @param c - vlera */
public Card(String s, int c)
{ suit = s;
count = c;
}
1
{ Card nextCard = null;
if ( count == 0 )
{ System.out.println("Gabim: nuk kan
e mbetur karta"); }
else
{ int index = (int)(Math.random() * count);
nextCard = deck[index];
for (int i = index + 1; i != count; i = i + 1)
// kartat nga index+1...i-1 jan
e l
evizur ne t
e majt
e
{ deck[i-1] = deck[i]; }
count = count - 1;
}
return nextCard;
}
/** Tregon se a ka akoma karta ne shpil.
* @return se a esht
e shpili jo i zbrazet */
public boolean moreCards()
{ return count > 0; }
2
public Card[] showCards()
{ Card[] answer = new Card[count];
for (int i = 0; i != count; i = i + 1)
{ answer[i] = hand[i]; }
return answer;
}
}
import javax.swing.*;
/** Modelon nj
e lojtar kartash njeri */
public class HumanPlayer extends CardPlayer
{ /** Nd
erton lojtarin
* @param maxCards - numri maksimal i kartave
*/
public HumanPlayer(int maxCards)
{ super(maxCards); }
2. Shkruani nje aplikacion, TestDealer, i cili krijon 4 lojtare dhe nje objekt shperndares kartash, i cili
pastaj secilit nga lojtaret i ndan nga 5 karta.
3. Modifikoni aplikacionin nga detyra paraprake ashtu qe ne dritaren komanduese te afishohet dora (kartat
te cilat mban) e secilit nga lojtaret.
4. Vizatoni diagramin e klasave per aplikacionin nga detyra paraprake.
e dhene interfejsi
5. Esht
3
6. Veni konvertimet eksplicite (casting) aty ku ka nevoje ashtu qe vargu vijues i instruksioneve te kom-
pilohet ne menyre korrekte.
I x = new E();
x.g();
E y = x;
y.g();
D z = new D();
z.g();
4
elesi i provimit B
C
Pyetjet 14 perbejne nje teresi. Per tu pergjegjur ne to, shqyrtoni klasat vijuese.
/** Modelon nj
e kart
e loje. */
public class Card
{ public static final String SPADES = "spades";
public static final String HEARTS = "hearts";
public static final String DIAMONDS = "diamonds";
public static final String CLUBS = "clubs";
public static final int SUIT_SIZE = 13;
public static final int ACE = 1;
public static final int JACK = 11;
public static final int QUEEN = 12;
public static final int KING = 13;
/** Ve vler
en dhe ngjyr
en e kart
es.
* @param s - ngjyra
* @param c - vlera */
public Card(String s, int c)
{ suit = s;
count = c;
}
1
else
{ int index = (int)(Math.random() * count);
nextCard = deck[index];
for (int i = index + 1; i != count; i = i + 1)
// kartat nga index+1...i-1 jan
e l
evizur n
e t
e majt
e
{ deck[i-1] = deck[i]; }
count = count - 1;
}
return nextCard;
}
/** Tregon se a ka akoma karta ne shpil.
* @return se a
eshte shpili jo i zbrazet */
public boolean moreCards()
{ return count > 0; }
2
for (int i = 0; i != count; i = i + 1)
{ answer[i] = hand[i]; }
return answer;
}
}
import javax.swing.*;
/** Modelon nj
e lojtar kartash njeri */
public class HumanPlayer extends CardPlayer
{ /** Nd
erton lojtarin
* @param maxCards - numri maksimal i kartave
*/
public HumanPlayer(int maxCards)
{ super(maxCards); }
P
ergjegjja:
/** Modelon nj
e shp
erndar
es kartash. */
public class Dealer
{ private CardDeck deck;
3
2. Shkruani nje aplikacion, TestDealer, i cili krijon 4 lojtare dhe nje objekt shperndares kartash, i cili
pastaj secilit nga lojtaret i ndan nga 5 karta.
P
ergjegjja:
4
TestDealer
main
CardPlayerBehavior
wantsCard(): boolean Dealer
receiveCard(Card c): void dealTo(CardPlayerBehavior p, int num): void
showCards(): Card[]
CardPlayer
CardDeck
wantsCard(): boolean
newCard(): Card
receiveCard(Card c): void
moreCards(): boolean
showCards(): Card[]
Card
HumanPlayer
suitOf(): String
wantsCard(): boolean
countOf(): int
e dhene interfejsi
5. Esht
ergjegjja: Jo. Metoda double2int e implementuar ka tipin e rezultatit te ndryshem nga metoda e
P
listuar ne interfejsin.
6. Veni konvertimet eksplicite (casting) aty ku ka nevoje ashtu qe vargu vijues i instruksioneve te kom-
pilohet ne menyre korrekte.
I x = new E();
x.g();
E y = x;
y.g();
D z = new D();
z.g();
P
ergjegjja:
5
I x = new E();
((E)x).g();
E y = (E)x;
y.g();
D z = new D();
z.g();
6
Emri:
Pyetjet 14 perbejne nje teresi. Per tu pergjegjur ne to, shqyrtoni klasat vijuese.
/** Modelon nj
e kart
e loje. */
public class Card
{ public static final String SPADES = "spades";
public static final String HEARTS = "hearts";
public static final String DIAMONDS = "diamonds";
public static final String CLUBS = "clubs";
public static final int SUIT_SIZE = 13;
public static final int ACE = 1;
public static final int JACK = 11;
public static final int QUEEN = 12;
public static final int KING = 13;
/** Ve vler
en dhe ngjyr
en e kart
es.
* @param s - ngjyra
* @param c - vlera */
public Card(String s, int c)
{ suit = s;
count = c;
}
1
{ Card nextCard = null;
if ( count == 0 )
{ System.out.println("Gabim: nuk kan
e mbetur karta"); }
else
{ int index = (int)(Math.random() * count);
nextCard = deck[index];
for (int i = index + 1; i != count; i = i + 1)
// kartat nga index+1...i-1 jan
e l
evizur ne t
e majt
e
{ deck[i-1] = deck[i]; }
count = count - 1;
}
return nextCard;
}
/** Tregon se a ka akoma karta ne shpil.
* @return se a esht
e shpili jo i zbrazet */
public boolean moreCards()
{ return count > 0; }
2
public Card[] showCards()
{ Card[] answer = new Card[count];
for (int i = 0; i != count; i = i + 1)
{ answer[i] = hand[i]; }
return answer;
}
}
import javax.swing.*;
/** Modelon nj
e lojtar kartash njeri */
public class HumanPlayer extends CardPlayer
{ /** Nd
erton lojtarin
* @param maxCards - numri maksimal i kartave
*/
public HumanPlayer(int maxCards)
{ super(maxCards); }
2. Shkruani nje aplikacion, TestDealer, i cili krijon 4 lojtare dhe nje objekt shperndares kartash, i cili
pastaj secilit nga lojtaret i ndan nga 5 karta.
3. Modifikoni aplikacionin nga detyra paraprake ashtu qe ne dritaren komanduese te afishohet dora (kartat
te cilat mban) e secilit nga lojtaret.
4. Vizatoni diagramin e klasave per aplikacionin nga detyra paraprake.
e dhene interfejsi
5. Esht
3
6. Veni konvertimet eksplicite (casting) aty ku ka nevoje ashtu qe vargu vijues i instruksioneve te kom-
pilohet ne menyre korrekte.
I x = new E();
x.f(6);
if ( x instanceof E )
{ x.g(); }
E y = x;
y.g();
4
elesi i provimit C
C
Pyetjet 14 perbejne nje teresi. Per tu pergjegjur ne to, shqyrtoni klasat vijuese.
/** Modelon nj
e kart
e loje. */
public class Card
{ public static final String SPADES = "spades";
public static final String HEARTS = "hearts";
public static final String DIAMONDS = "diamonds";
public static final String CLUBS = "clubs";
public static final int SUIT_SIZE = 13;
public static final int ACE = 1;
public static final int JACK = 11;
public static final int QUEEN = 12;
public static final int KING = 13;
/** Ve vler
en dhe ngjyr
en e kart
es.
* @param s - ngjyra
* @param c - vlera */
public Card(String s, int c)
{ suit = s;
count = c;
}
1
else
{ int index = (int)(Math.random() * count);
nextCard = deck[index];
for (int i = index + 1; i != count; i = i + 1)
// kartat nga index+1...i-1 jan
e l
evizur n
e t
e majt
e
{ deck[i-1] = deck[i]; }
count = count - 1;
}
return nextCard;
}
/** Tregon se a ka akoma karta ne shpil.
* @return se a
eshte shpili jo i zbrazet */
public boolean moreCards()
{ return count > 0; }
2
for (int i = 0; i != count; i = i + 1)
{ answer[i] = hand[i]; }
return answer;
}
}
import javax.swing.*;
/** Modelon nj
e lojtar kartash njeri */
public class HumanPlayer extends CardPlayer
{ /** Nd
erton lojtarin
* @param maxCards - numri maksimal i kartave
*/
public HumanPlayer(int maxCards)
{ super(maxCards); }
P
ergjegjja:
/** Modelon nj
e shp
erndar
es kartash. */
public class Dealer
{ private CardDeck deck;
3
2. Shkruani nje aplikacion, TestDealer, i cili krijon 4 lojtare dhe nje objekt shperndares kartash, i cili
pastaj secilit nga lojtaret i ndan nga 5 karta.
P
ergjegjja:
4
TestDealer
main
CardPlayerBehavior
wantsCard(): boolean Dealer
receiveCard(Card c): void dealTo(CardPlayerBehavior p, int num): void
showCards(): Card[]
CardPlayer
CardDeck
wantsCard(): boolean
newCard(): Card
receiveCard(Card c): void
moreCards(): boolean
showCards(): Card[]
Card
HumanPlayer
suitOf(): String
wantsCard(): boolean
countOf(): int
e dhene interfejsi
5. Esht
6. Veni konvertimet eksplicite (casting) aty ku ka nevoje ashtu qe vargu vijues i instruksioneve te kom-
pilohet ne menyre korrekte.
I x = new E();
x.f(6);
if ( x instanceof E )
{ x.g(); }
E y = x;
y.g();
P
ergjegjja:
5
I x = new E();
x.f(6);
if ( x instanceof E )
{ ((E)x).g(); }
E y = (E)x;
y.g();
6
Emri:
e dhene interfejsi
1. Esht
Pyetjet 25 perbejne nje teresi. Per tu pergjegjur ne to, shqyrtoni klasat vijuese.
/** Modelon nj
e kart
e loje. */
public class Card
{ public static final String SPADES = "spades";
public static final String HEARTS = "hearts";
public static final String DIAMONDS = "diamonds";
public static final String CLUBS = "clubs";
public static final int SUIT_SIZE = 13;
public static final int ACE = 1;
public static final int JACK = 11;
public static final int QUEEN = 12;
public static final int KING = 13;
/** Ve vler
en dhe ngjyr
en e kart
es.
* @param s - ngjyra
* @param c - vlera */
public Card(String s, int c)
{ suit = s;
count = c;
}
1
/** Modelon nje shpil kartash. */
public class CardDeck
{ private Card[] deck = new Card[4 * Card.SUIT_SIZE];
private int count;
/** Krijon shpil te ri me te gjitha kartat. */
public CardDeck()
{ createSuit(Card.SPADES);
createSuit(Card.HEARTS);
createSuit(Card.DIAMONDS);
createSuit(Card.CLUBS);
}
/** Merr nje kart
e t
e re nga shpili.
* @return nje kart
e te re (ose null n
ese nuk ka karta) */
public Card newCard()
{ Card nextCard = null;
if ( count == 0 )
{ System.out.println("Gabim: nuk kane mbetur karta"); }
else
{ int index = (int)(Math.random() * count);
nextCard = deck[index];
for (int i = index + 1; i != count; i = i + 1)
// kartat nga index+1...i-1 jane l
evizur ne t
e majt
e
{ deck[i-1] = deck[i]; }
count = count - 1;
}
return nextCard;
}
/** Tregon se a ka akoma karta n e shpil.
* @return se a eshte shpili jo i zbrazet */
public boolean moreCards()
{ return count > 0; }
/** Modelon nj
e form
e abstrakte t
e lojtarit me karta. */
public abstract class CardPlayer implements CardPlayerBehavior
{ private Card[] hand;
2
private int count;
/** Nderton lojtarin.
* @param maxCards - numri maksimal i kartave q
e mund ti mbaj
e */
public CardPlayer(int maxCards)
{ hand = new Card[maxCards];
count = 0;
}
3. Shkruani nje aplikacion, TestDealer, i cili krijon 4 lojtare dhe nje objekt shperndares kartash, i cili
pastaj secilit nga lojtaret i ndan nga 5 karta.
4. Modifikoni aplikacionin nga detyra paraprake ashtu qe ne dritaren komanduese te afishohet dora (kartat
te cilat mban) e secilit nga lojtaret.
5. Vizatoni diagramin e klasave per aplikacionin nga detyra paraprake.
6. Veni konvertimet eksplicite (casting) aty ku ka nevoje ashtu qe vargu vijues i instruksioneve te kom-
pilohet ne menyre korrekte.
3
I x = new E();
x.g();
E y = x;
y.g();
D z = new D();
z.g();
4
elesi i provimit D
C
e dhene interfejsi
1. Esht
Pyetjet 25 perbejne nje teresi. Per tu pergjegjur ne to, shqyrtoni klasat vijuese.
/** Modelon nj
e kart
e loje. */
public class Card
{ public static final String SPADES = "spades";
public static final String HEARTS = "hearts";
public static final String DIAMONDS = "diamonds";
public static final String CLUBS = "clubs";
public static final int SUIT_SIZE = 13;
public static final int ACE = 1;
public static final int JACK = 11;
public static final int QUEEN = 12;
public static final int KING = 13;
/** Ve vler
en dhe ngjyr
en e kart
es.
* @param s - ngjyra
* @param c - vlera */
public Card(String s, int c)
{ suit = s;
count = c;
}
1
/** Modelon nje shpil kartash. */
public class CardDeck
{ private Card[] deck = new Card[4 * Card.SUIT_SIZE];
private int count;
/** Krijon shpil te ri me te gjitha kartat. */
public CardDeck()
{ createSuit(Card.SPADES);
createSuit(Card.HEARTS);
createSuit(Card.DIAMONDS);
createSuit(Card.CLUBS);
}
/** Merr nje kart
e t
e re nga shpili.
* @return nje kart
e te re (ose null n
ese nuk ka karta) */
public Card newCard()
{ Card nextCard = null;
if ( count == 0 )
{ System.out.println("Gabim: nuk kane mbetur karta"); }
else
{ int index = (int)(Math.random() * count);
nextCard = deck[index];
for (int i = index + 1; i != count; i = i + 1)
// kartat nga index+1...i-1 jane l
evizur ne t
e majt
e
{ deck[i-1] = deck[i]; }
count = count - 1;
}
return nextCard;
}
/** Tregon se a ka akoma karta n e shpil.
* @return se a eshte shpili jo i zbrazet */
public boolean moreCards()
{ return count > 0; }
/** Modelon nj
e form
e abstrakte t
e lojtarit me karta. */
public abstract class CardPlayer implements CardPlayerBehavior
{ private Card[] hand;
2
private int count;
/** Nderton lojtarin.
* @param maxCards - numri maksimal i kartave q
e mund ti mbaj
e */
public CardPlayer(int maxCards)
{ hand = new Card[maxCards];
count = 0;
}
import javax.swing.*;
/** Modelon nj
e lojtar kartash njeri */
public class HumanPlayer extends CardPlayer
{ /** Nd
erton lojtarin
* @param maxCards - numri maksimal i kartave
*/
public HumanPlayer(int maxCards)
{ super(maxCards); }
P
ergjegjja:
/** Modelon nj
e shp
erndar
es kartash. */
public class Dealer
{ private CardDeck deck;
3
{ deck = new CardDeck(); }
3. Shkruani nje aplikacion, TestDealer, i cili krijon 4 lojtare dhe nje objekt shperndares kartash, i cili
pastaj secilit nga lojtaret i ndan nga 5 karta.
P
ergjegjja:
4
ergjegjja: Diagrami i klasave eshte dhene ne figuren vijuese.
P
TestDealer
main
CardPlayerBehavior
wantsCard(): boolean Dealer
receiveCard(Card c): void dealTo(CardPlayerBehavior p, int num): void
showCards(): Card[]
CardPlayer
CardDeck
wantsCard(): boolean
newCard(): Card
receiveCard(Card c): void
moreCards(): boolean
showCards(): Card[]
Card
HumanPlayer
suitOf(): String
wantsCard(): boolean
countOf(): int
6. Veni konvertimet eksplicite (casting) aty ku ka nevoje ashtu qe vargu vijues i instruksioneve te kom-
pilohet ne menyre korrekte.
I x = new E();
x.g();
E y = x;
y.g();
D z = new D();
z.g();
P
ergjegjja:
I x = new E();
((E)x).g();
E y = (E)x;
y.g();
D z = new D();
z.g();