Anteprima
Vedrai una selezione di 22 pagine su 105
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 1 Programmazione ad oggetti (java) teoria + progetti java completi Pag. 2
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 6
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 11
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 16
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 21
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 26
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 31
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 36
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 41
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 46
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 51
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 56
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 61
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 66
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 71
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 76
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 81
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 86
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 91
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 96
Anteprima di 22 pagg. su 105.
Scarica il documento per vederlo tutto.
Programmazione ad oggetti (java) teoria + progetti java completi Pag. 101
1 su 105
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

POSIZIONARE I PERSONAGGI

3 //attributi

4 private String tipo_quadro;

5 private String nome_quadro;

6 private int numero_quadro;

7 private int numero_max_personaggi;

8

9 ArrayList<PersonaggioGioco> Orchi=new

ArrayList<PersonaggioGioco> (); //creo lista di

personaggi gioco di tipo cavaliere e orco

10 ArrayList<PersonaggioGioco> Cavalieri=new

ArrayList<PersonaggioGioco> ();

11

12

13 //costruttore

14 public Quadro(String tipo_quadro,String nome_quadro,int

numero_quadro,int numero_max_personaggi){

15 this.tipo_quadro=tipo_quadro;

16 this.nome_quadro=nome_quadro;

17 this.numero_quadro=numero_quadro;

18 this.numero_max_personaggi=numero_max_personaggi;

19 }

20 //metodi

21 public void aggiungiPersonaggio(PersonaggioGioco p){

22 if(p.gettipo_personaggio()=="cavaliere"){

23 Cavalieri.add(p);

24 System.out.println("HAI AGGIUNTO UN CAVALIERE!");

25 }

26 else{

27 Orchi.add(p);

28 System.out.println("HAI AGGIUNTO UN ORCO!");}}

29 public void controllaNumeroPersonaggi(Quadro q){

30 if((Orchi.size() + Cavalieri.size() ) <

q.getnumero_max_personaggi() ){

31 System.out.println("PUOI INSERIRE ANCORA ALTRI

PERSONAGGI!");

32 }else if((Orchi.size() + Cavalieri.size() ) ==

q.getnumero_max_personaggi() ){

33 System.out.println("INSERITO NUMERO MASSIMO DI

PERSONAGGI PER QUESTO QUADRANTE!");

Page 1

Quadro.java

34 }

35 else{

36 System.out.println("ERRORE,INSERITI TROPPI

PERSONAGGI!");

37 }}

38 public int getnumero_max_personaggi(){ //serve per il metodo

controllaNumeroPersonaggi,

39 return numero_max_personaggi;

40 }}

41 Page 2

Test.java

1 import java.io.*;

2 public class Test {

3

4 public static void main(String[] args) {

5 PersonaggioGioco p1 = new PersonaggioGioco("cavaliere",

5, 60, 90);

6 PersonaggioGioco p2 = new PersonaggioGioco("orco", 5, 40,

80);

7 PersonaggioGioco p3 = new PersonaggioGioco("orco", 5, 40,

80);

8 PersonaggioGioco p4 = new PersonaggioGioco("orco", 5, 40,

80);

9 PersonaggioGioco p5 = new PersonaggioGioco("orco", 5, 40,

80);

10 System.out.println(p1);

11 System.out.println(p2); //stampo oggetti creati

12 System.out.println(p3);

13

14 MossaSpeciale m1=new MossaSpeciale(001, "fire", 4);

15 MossaSpeciale m2=new MossaSpeciale(002, "thunder", 7);

16 MossaSpeciale m3=new MossaSpeciale(002, "thunder", 7);

17 MossaSpeciale m4=new MossaSpeciale(001, "fire", 4);

18

19 p1.aggiungi(m1);

20 p1.aggiungi(m2); //aggiungo ai personaggi le

mosse,creando per ognuno una lista di mosse

21

22 //p1.aggiungi(m4); //il confronto è fatto su tutti e

tre gli attributi,quindi questo restituirà errore

23 p1.elimina(m2);

24 //p1.elimina(m2); //da errore,gia non c'era piu la

mossa

25

26 Quadro q1=new Quadro("rosso", "zona nera", 1, 4);

27 q1.aggiungiPersonaggio(p1);

28 q1.aggiungiPersonaggio(p2);

29 q1.aggiungiPersonaggio(p3);

30 q1.aggiungiPersonaggio(p4);

31 q1.aggiungiPersonaggio(p5);

32 q1.controllaNumeroPersonaggi(q1);

33

34 //CHIESTO DAL TESTO

Page 1

Test.java

35 PersonaggioGioco [] warcraft = new PersonaggioGioco [3];

36 warcraft[0] = new PersonaggioGioco("cavaliere", 5, 40,

95);

37 warcraft[1] = new PersonaggioGioco("orco", 5, 46, 45);

38 warcraft[2] = new PersonaggioGioco("cavaliere", 5, 30,

34);

39 String file=new String(" ");

40 for (int i=0;i<warcraft.length;i++){

41 PersonaggioGioco e=warcraft[i];

42 file += "TIPO PERSONAGGIO: " +

e.gettipo_personaggio() + " -------NUMERO DI MOSSE SPECIALI: " +

e.getnumero_mosse_speciali() + " --------ENERGIA: " +

e.getenergia() + " --------POTENZA: " + e.getpotenza() + " \r\n "

;

43 }

44 try{

45 PrintStream scrivi = new PrintStream(new

FileOutputStream("Lista.txt"));

46 scrivi.println(file);

47 }catch(IOException g){

48 System.out.println("ERRORE DI SCRITTURA ");

49 }

50 //parte interfaccia grafica

51 InterfacciaGrafica i= new InterfacciaGrafica();

52 i.setDefaultCloseOperation(InterfacciaGrafica.EXIT_ON_CLOSE);

53 i.setVisible(true);

54 }}

55 Page 2

InterfacciaGrafica.java

import java.awt.*;

public class InterfacciaGrafica extends JFrame {

private JLabel l1,l2,l3,l4,l5;

private JTextField t1,t2,t3,t4,t5;

public InterfacciaGrafica(){

setSize(800,300);

setTitle("GESTIONE PèERSONAGGI");

setLocation(200,100);

setResizable(true);

Container c= getContentPane();

JPanel P= new JPanel();

P.setLayout(new GridLayout(4,1));

c.add(p);

JLabel l1 = new JLabel("TIPO PERSONAGGIO");

p.add(l1);

t1=new JTextField(10);

p.add(t1);

JLabel l2 = new JLabel("NUMERO MOSSE");

p.add(l2);

t2=new JTextField(10);

p.add(t2);

JLabel l3 = new JLabel("ENERGIA");

p.add(l3);

t3=new JTextField(10);

p.add(t3);

JLabel l4 = new JLabel("POTENZA");

p.add(l4);

t4=new JTextField(10);

p.add(t4);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}} Page 1

Corso di Programmazione ad Oggetti

Prof. Massimo Ficco (A.A. 2016-2017)

Prova del 22/12/2016

Sviluppare un programma per la creazione del lista di pacchi.

Una interfaccia Lista_Pacchi esporta il seguenti metodi:

- Aggiungi(Pacco d): tale metodo aggiunge un nuova pacco alla lista;

- Modifica(Pacco d): tale metodo modificare un pacco presente nella lista.

implementa l’interfaccia di cui sopra.

Una classe astratta Lista

- La classe implementa i seguente metodo astratto:

- Rimuovi(Pacco d): tale metodo rimuove il pacco della lista.

- Un contatore che si incrementa alla inserimento di un nuovo pacco alla lista.

- Tale classe possiede i seguenti attributi: codice pacco, il nome della lista pacchi, la data di creazione della lista.

Una classe ListaPacchiPoP che eredita la classe Lista implementa i metodi Aggiungi/Rimuovi/Modifica Pacco in modo

da creare una lista di pacchi a scelta.

s’incrementa

Il codice lista è univoco e ogni volta che viene creato una nuova lista.

I Pacchi sono rappresentati da una classe i cui attributi sono il codice del pacco e il tipo del pacco, inizializzati tramite

un apposito costruttore.

Una classe Test crea permette di creare una lista di pacchi e di stamparla in un file di testo una volta completata.

un’interfaccia

Implementare grafica che permette al singolo operatore di aggiungere i pacchi a una lista.

Interfaccia.java

1 import javax.swing.*;

3

4 public class Interfaccia extends JFrame{

5 private JLabel l1,l2;

6 private JTextField t1,t2;

7 public Interfaccia(){

8

9 setTitle("GESTIONE PACCHI"); //metto titolo

10 setSize(500,250); //quanto è grande

11 setLocation(200,100); //dove si apre

12 Container c=getContentPane();

13 JPanel p=new JPanel();

14 p.setLayout(new GridLayout(6,1)); //faccio allineamento

6 righe e una colonna

15 JButton aggiungipacco = new JButton("AGGIUNGI PACCO");

16 JButton stampapacchi = new JButton("STAMPA LISTA

PACCHI)"); //creo pulsnti

17 p.add(aggiungipacco); //aggiungo i pulsanti al

pannello

18 p.add(stampapacchi);

19 c.add(p);

20

21 JLabel l1= new JLabel("CODICE PACCHI");

22 p.add(l1);

23 t1=new JTextField(20);

24 p.add(t1);

25

26 JLabel l2=new JLabel("TIPO PACCHI");

27 p.add(l2);

28 t2=new JTextField(20);

29 p.add(t2);

30

31 setVisible(true); //rendo visibile

32 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

33 }} Page 1

Lista.java

1 public abstract class Lista implements ListaPacchi{

2 //attributi

3 protected int codice_pacco;

4 protected String nome;

5 protected String data;

6 //costruttore

7 public Lista(int codice_pacco, String nome, String data) {

8 this.codice_pacco = codice_pacco;

9 this.nome = nome;

10 this.data = data;

11 }

12

13 //metodi

14 public abstract void rimuovi(Pacchi d);

15 } Page 1

ListaPacchi.java

1 public interface ListaPacchi{

2

3 //metodi astratti

4 public void aggiungi(Pacchi d);

5 public void modifica(Pacchi d);

6} Page 1

ListaPacchiPop.java

1 import java.util.ArrayList;

2

3 public class ListaPacchiPop extends Lista {

4 //attributi

5 protected static int contatore=0;

6 ArrayList<Pacchi> listapacco = new ArrayList <Pacchi>();

7 //costruttore

8 public ListaPacchiPop(int codice_pacco, String nome, String

data) {

9 super(codice_pacco, nome, data);

10 contatore++;

11 System.out.println("ho creato il seguente numero di liste

pacchi ---> " + contatore);

12

13 }

14 //metodi

15 public void aggiungi(Pacchi d) {

16 listapacco.add(d);}

17 public void modifica(Pacchi d) {

18 listapacco.set(0, d); //PER MODIFICARE USO IL SET

DANDO IN INGRESSO IL NUOVO CODICE E L OGGETTO

19 }

20 public void rimuovi(Pacchi d) {

21 if(listapacco.contains(d))

22 listapacco.remove(d);

23 else{

24 try{

25 throw new Error();

26 }catch(Error e){

27 System.out.println("ERRORE! il pacco non puoi

eliminarlo perchè già non c'è");

28 }}}

29 public String toString(){

30 String s="hai creato la Lista Pacchi chiamata: " + nome +

" creata in data: " + data ;

31 return s;

32 }}

33 Page 1

Pacchi.java

1 public class Pacchi {

2 //attributi

3 protected int codice_pacco;

4 protected String tipo_pacco;

5

6 //costruttore

7 public Pacchi(int codice_pacco, String tipo_pacco) {

8 super();

9 this.codice_pacco = codice_pacco;

10 this.tipo_pacco = tipo_pacco;

11 }

12 //metodi

13 public String toString(){

14 String s= " hai istanziato il pacco che ha codice: " +

codice_pacco + " ed è di tipo " + tipo_pacco ;

15 return s;

16 }

17 //ridefinisco equals per fare il confronto

18 public boolean equals(Object obj){

19 if(obj instanceof Pacchi){

20 Pacchi x=(Pacchi)obj;

21 if(this.tipo_pacco.equals(((Pacchi)obj).tipo_pacco) &&

codice_pacco ==x.getCodice_pacco())

22 return true;

23 else return false;

24

25 }else{

26 return false;}

27 }

28

29 public int getCodice_pacco(){

30 return codice_pacco;

31 }

32

33 public String getTipoPacco(){

34 return tipo_pacco;

35 }}

36

37

38 Page 1

Test.java

import java.io.*;

public class Test {

public static void main(Strin

Dettagli
Publisher
A.A. 2017-2018
105 pagine
2 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher matrix0909 di informazioni apprese con la frequenza delle lezioni di Programmazione ad oggetti e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi della Campania "Luigi Vanvitelli" o del prof Ficco Massimo.