ottofonsuppost

Utente Attivo
10 Mag 2016
170
13
18
LEZIONE n. 31Bis LINGUAGGIO JAVA per neofiti
Durata: 21 minuti

Vedi prima la lezione precedente.
Dovete avere aperto in NETBEANS il progetto PuntoDiPartenza; se occorre fate FILE- OPEN PROJECT, scorrete fino a trovare PuntoDiPartenza, lo cliccate e poi OPEN PROJECT.

Il programma PuntoDiPartenza(la Classe PuntoDiPartenza) è piccolo, ed è il tipico modo con cui i principianti scrivono un programma JAVA; mentre se ricordate il filmato sul gioco FIFA12, li c'era un team di 200 persone a scrivere le varie numerosi CLASSI. Ecco cosa faremo: toglieremo i metodi dalla classe principale e faremo nascere 4 classi separate, ognuna porterà lo stesso nome del metodo; ma sappiamo che le classi hanno un nome con l'iniziale maiuscola.

Sulla schermata PROJECTS, cliccate col tasto destro del mouse sul package MioPrimoPacchetto, e fate NEW, JAVA CLASS; a Class Name scrivete Addizione, con la A maiuscola, perchè state creando una classe java; e date FINE.

Ora, con la stessa tecnica create la classe Sottrazione, poi Moltiplicazione, poi Divisione, stando attenti sempre alla lettera maiuscola iniziale del nome della classe.

Se guardate in alto nel SORGENTE noterete che esistono 5 classi; cliccate su ognuna di queste e leggete la riga CLASS di ogni sorgente: vedrete che mentre nel codice leggiamo CLASS ADDIZIONE nella scheda compare ADDIZIONE.JAVA.

Sperando che abbiate scritto bene in italiano, senza errori di scrittura, incollate in tutte le nuove classi "matematiche" queste righe di codice. Cancellate tutto il codice del Sorgente Addizione e incollate il listato seguente.
Codice:
package MioPrimoPacchetto;


public class Addizione {
     public static double addizione(double x, double y) {
        double z = x+y;           return z;}
}

Commentiamo il Codice della Classe Addizione; portatevi sulla riga corrispondente alla descrizione appena fatta e guardatela bene:
è una classe pubblica, il suo nome inizia con la lettera maiuscola, e si trova nel package MioPrimoPacchetto.
La classe inizia con una PARENTESI GRAFFA, alla fine chiusa.
Dentro le parentesi quadre è presente un METODO, il metodo addizione; porta lo stesso nome della Classe ma è scritto con l'iniziale minuscola. Riconosciamo che è un metodo perchè sono presenti le PARENTESI TONDE, con all'interno due parametri FORMALI di tipo DOUBLE: la x e la y. Anche il metodo è di tipo DOUBLE.
siccome il metodo fa un'addizione, allora prende x e y e li addiziona. il metodo ritorna un valore con la parola chiave RETURN il valore è Z

Ora dobbiamo correggere i listati sbagliati contenuti nelle altre classi:
Scegliete cliccando in alto sul SOURCE il file.java e
Modificate i nomi della Class
CLASS Sottrazione ha il metodo sottrazione z=x-y
CLASS Moltiplicazione ha il metodo moltiplicazione z=x*y
CLASS Divisione ha il metodo divisione z=x/y

Fatte le modifiche, ricontrollate cliccando le schede in alto nel CODICE; Addizione(nome classe) e addizione(nome metodo), Sottrazione e sottrazione, Divisione e divisione, Moltiplicazione e moltiplicazione, Addizione e addizione. Poi guardate se la variabile ZETA fa la giusta operazione matematica in base al nome del metodo e della classe.

Non ci resta che modificare il codice della Classe PuntoDiPartenza; rendete bianca la pagina, cancellate tutto ed incollateci questo listato
Codice:
package MioPrimoPacchetto;

public class PuntoDiPartenza {

    public static void main(String[] args) {

      double a, b;         a = 10; b = 2;

      System.out.println(Addizione.addizione(a, b));
      System.out.println(Sottrazione.sottrazione(a, b));
      System.out.println(Moltiplicazione.moltiplicazione(a, b));
      System.out.println(Divisione.divisione(a, b));
    }     }

DATE IL RUN ed avremo sulla console di OUTPUT, in sequenza: una addizione, una sottrazione, una moltiplicazione, e una divisione, con tutte le cifre espresse in numeri decimali, con la virgola; anche se la virgola viene indicata con un punto. Sapendo che il primo numero passato è 10 ed il secondo numero è 2; controllate a mente se i calcoli sono giusti.

Trasformate in COMMENTO la riga di istruzione stampa addizione mettendo due // ad inizio riga

// System.out.println(Addizione.addizione(a, b));

poi aggiungete nel codice una variabile DOUBLE chiamata RISULTATO, che chiama il metodo addizione della classe Addizione. i nomi delle variabili si scrivono sempre in minuscolo, ma ora non rispettiamo questa regola.

double RISULTATO = Addizione.addizione(a,b);

e ce la stampiamo con

System.out.println(RISULTATO);

RIDATE IL RUN

Ricapitolando alcuni concetti fondamentali:
i metodi si chiamano(oppure i metodi vengono invocati) utilizzando il loro nome e fornendogli i parametri giusti, dello stesso tipo. Se il metodo appartiene ad un'altra Classe, invochiamo il metodo chiamando prima la CLASSE e poi punto nome del metodo, e sempre dando i parametri.

Riguardate i listati delle lezioni 31 e 31bis, commentateli da voi descrivendo cosa fanno, riga per riga.
Fatto questo cancellate tutto il progetto, visto che sapete come si fa e andate alla lezione n. 32.

LE LEZIONI 31 e 31 bis SONO FINITE.

Baci e abbracci, OTTOFONSUPPOST.
 
Ultima modifica:

ottofonsuppost

Utente Attivo
10 Mag 2016
170
13
18
LEZIONE n. 32 LINGUAGGIO JAVA per neofiti
Durata: 16 minuti

RISPOSTE esercizi lezione n. 23

Problema n. 1
034.png


Problema n. 2
Codice:
A - - - import java.OTTOFONSUPPOST.*;

A1 - - - 2

A2 - - - import java.EsercitoItaliano.*;

B - - - ;

C - - - istruzione;

D - - - [ ] { }

E - - - class Ascensore { }

F - - - nome

G - - - //ora inizia lo spettacolo

H - - - /*

i - - - */

L - - - class

M - - - class Divano{ }

N1 - - - String elicottero;

N2 - - - int ZZZ;

O - - - int a, z, portafoglio, matricola;

P - - -
int a;
int z;
int portafoglio;
int matricola;

Q1 - - -dichiarazione

Q2 - - -assegnamento

R - - - String supermercato; supermercato="COOPERATIVA OTTO";

S - - - int supermercato; supermercato=1234;

T - - - netbeans

U - - -invocare

V - - - 57

Se riuscirete a scrivere il programma che adesso il sergente OTTOFONSUPPOST vi chiederà, allora non potrete più considerarvi un NEOFITA, ma un sapientone di JAVA. Vi posso assicurare che la maggior parte di coloro che scrivono codice JAVA non comprendono il funzionamento dei metodi e delle classi contenute in un package.

PROBLEMA N. 3

In un progetto chiamato ProgettoScritturaCodice, create un PACKAGE di nome SecondoPacchetto; poi create 4 classi di nome Addizione, Sottrazione, Moltiplicazione, Divisione; che contengono ognuna un solo metodo che esegue proprio l'operazione matematica indicata nel nome della classe; chiamate i metodi con lo stesso nome della classe che li contiene. Mettete il metodo MAIN in una quinta classe che avrà nome QuintaClasse, che chiama i metodi delle altre 4 classi "matematiche" e che stampa i risultati delle operazioni; nella QuintaClasse create due variabili chiamate: primaVariabile e secondaVariabile, dando rispettivamente valore 54 e 8. L'output dovrà dare in sequenza queste risposte, perchè le operazioni stampate saranno: divisione, moltiplicazione, sottrazione, addizione:

6.75
432.0
46.0
62.0

Se non riuscite a creare il codice, rileggete tutto della lezione n. 31 e 31bis.
Durante la creazione del codice non dovete guardare quelle lezioni; neanche per creare una riga.
Dovreste svolgere il compito in 15 minuti netti.

Se, nonostante la lettura delle lezioni 31 e 31bis non riuscite a creare il codice, allora dovete abbandonare questo corso. il LINGUAGGIO JAVA è molto semplice, ma il vostro cervello è poco sviluppato...Datevi all'ippica!

Baci e abbracci, OTTOFONSUPPOST.
 
Ultima modifica:

ottofonsuppost

Utente Attivo
10 Mag 2016
170
13
18
LEZIONE n. 33 LINGUAGGIO JAVA per ex neofiti
Durata: 9 minuti

Usando un tool di sviluppo come l'IDE NETBEANS, diamo il RUN e...
e molti non sanno neanche cosa avviene; vedono l'OUTPUT e sono felici.
Per scoprire cosa fa quel RUN dobbiamo creare sul percorso C:\ una nuova cartella chiamata eserciziJAVA.
Copiate nel vostro BLOCCO NOTE questo listato
Codice:
public class Xxxyyyzzz {
      public static void main(String[] args) {
      System.out.println("vediamo come funziona");     }  }

Quindi nel blocco note facciamo FILE e SALVA CON NOME; ci portiamo sul nostro disco C e in questo istante creiamo un NUOVA CARTELLA chiamata eserciziJAVA, e salviamo mettendo nome Xxxyyyzzz.java. Occorre stare attenti che il blocco note non abbia creato un file txt; quindi dobbiamo essere sicuri dell'estensione di quel file appena salvato; perciò controlliamo che Xxxyyyzzz sia di TIPO file JAVA.

Ora dobbiamo scoprire se il nostro sistema operativo ha una DIRECTORY chiamata PROGRAMMI o PROGRAM FILES; quindi aprite il PROMPT e su C:\> date il comando DIR

A questo punto è necessario creare una variabile d'ambiente PATH, che consente al sistema operativo di localizzare il compilatore Java e l'interprete Java sul disco rigido.


IMPOSTAZIONE DELLE VARIABILI D'AMBIENTE (PATH/CLASSPATH)


Andate su PANNELLO DI CONTROLLO - SISTEMA E SICUREZZA - SISTEMA- IMPOSTAZIONI AVANZATE DI SISTEMA / VARIABILI D'AMBIENTE

Nella schermata VARIABILI DI SISTEMA scorrete e cliccate su PATH e scegliete MODIFICA

in VALORE VARIABILE portatevi con i cursori alla fine di quella riga lunghissima ed incollateci alla fine questa frase:
;C:\Programmi\Java\jdk1.8.0_92\bin

(attenzione: JDK UNOpuntoOTTOpuntoZERO)

Se non avete trovato la variabile PATH, fate clic su Nuovo nella parte bassa della finestra. Fate clic sul campo Nome Variabile e digitate
PATH

Ora aprite il PROMPT(vedi la lezione n. 22 di questo corso) e in C:\eserciziJAVA dovreste trovare il file salvato con il blocco note, Xxxyyyzzz.java e date questo comando

javac Xxxyyyzzz.java

se non ci sono errori nel listato il prompt ci ripresenterà C:\eserciziJAVA
fate il DIR e vedrete che il compilatore java ha creato un file Xxxyyyzzz.class
Quindi: il .java è il nostro listato che abbiamo scritto col blocco note, mentre il .class è il BYTECODE creato dal compilatore, che ora daremo in pasto alla VIRTUAL MACHINE di java dando il comando

java Xxxyyyzzz

e ci comparirà la frase VEDIAMO COME FUNZIONA che era la stampa richiesta nel nostro programma.
Ora tramite WINDOWS cancellate dalla cartella eserciziJAVA i file Xxxyyyzzz.java e Xxxyyyzzz.class, e rifate di nuovo il salvataggio col blocco note, la compilazione e l'esecuzione del programma JAVA.
Baci e abbracci, OTTOFONSUPPOST.

http://www.dis.uniroma1.it/virgi/foin/install.html
 
Ultima modifica:

ottofonsuppost

Utente Attivo
10 Mag 2016
170
13
18
LEZIONE n. 34 LINGUAGGIO JAVA per ex neofiti
Durata: 9 minuti

ALTRE COSE CHE PUO' FARE UN COMPUTER.

Servendovi dell'IDE VIRTUALE di (FATE CLIC SULLA RIGA CHE SEGUE)

www.jdoodle.com/online-java-compiler
incollate nella textArea queste righe di codice; poi date EXECUTE e leggete il risultato;
oggi la lezione la facciamo fare proprio all'editor virtuale.
Codice:
System.out.println("create  A e B, e assegnato un valore alle due variabili di tipo int ");
System.out.println("\n"+"                          int a=10; int b=50;");

System.out.println("\n"+"se A ha valore uguale a B,  di'  che A ha valore uguale a B\n"+
" ALTRIMENTI di' che A ha valore diverso da B\n"+" ");
System.out.println("if (a==b) {System.out.print(\"A\"+a+\" vale uguale a B\"+b);}");
System.out.println("else      {System.out.print(\"A\"+a+\" vale diverso da B\"+b);}");
int a=10; int b=50;
if (a==b) {System.out.print("\n"+"RISPOSTA DEL COMPUTER:    A "+a+" vale uguale a B "+b+"\n");}
    else{System.out.print("\n"+"RISPOSTA DEL COMPUTER:    A"+
          " "+a+" vale diverso da B "+b+"\n");}
System.out.println("\n"+"notate come agiscono insieme IF ed ELSE\n"+
"e notate la CONDIZIONE DA VALUTARE (a==b) racchiusa tra parentesi tonde\n"+
"e notate il segno == che non significa uguale ma UGUAGLIANZA\n"+
"in JAVA quando diciamo = stiamo assegnando un valore,\n"+
"anche se noi lo leggiamo UGUALE, in realta' e' un assegnamento di valore.\n"+
"Quindi usiamo = per assegnare un valore e == per  valutare un'uguaglianza.\n"+
"Notate: se la CONDIZIONE DA VALUTARE, dentro le parentesi tonde, e' vera,\n"+
"vengono eseguite le istruzioni delle parentesi graffe dello IF,\n"+
"altrimenti se e' falsa vengono eseguite le istruzioni delle parentesi\n"+
"graffe dello ELSE.\n"+
"Quindi un'istruzionie IF si legge in questo modo:\n"+
"SE E' VERO CHE (...) ALLORA FAI QUESTO {...istruzioni if}\n"+
"ALTRIMENTI fai quest'altro {... istruzioni else}\n\n"+
"    a=10;  b=50;              SE A e' minore di B\n\n"+
"if (a<b) {System.out.println(\"A\"+a+\" e' minore di B\"+b);}\n"+
"else     {System.out.println(\"A\"+a+\" e' maggiore di B\"+b);}\n");


if (a<b) {System.out.println("RISPOSTA DEL COMPUTER: A "+a+" e' minore di B "+b);}
                 else{System.out.println("RISPOSTA DEL COMPUTER A "+a+
" e' maggiore di B "+b);}

System.out.println("\nALTRE CONDIZIONI:\n"+
"if (a>b)      SE A e' maggiore di B\n"+
"if (a>=b)     SE A e' maggiore o uguale a B\n"+
"if (a<=b)     SE A e' minore o uguale a B\n");

a=8;
System.out.println(" a=8;                  ora A vale "+a);
                      System.out.println("ma se scrivo a++ A viene incrementata di 1");
  a++;                System.out.println("ora A vale "+a+"\n\n");

  a=22;
  System.out.println("A = 22;          ora A vale "+a+
  "\n se scrivo a-- A diminuisce di 1");
  a--;            System.out.println("ora A vale "+a);

System.out.println("\n mentre usiamo == per confrontare UGUAGLIANZA\n"+
" utilizzeremo != per confrontare DISUGUAGLIANZA");

System.out.println(" if (a != b)  che si legge: se A e' disuguale da B");

Quindi ricapitoliamo i principali OPERATORI che useremo in JAVA, omettendo quelli poco utilizzati, cioè quelli LOGICI BIT a BIT.
036.png


037.png


038.png


Abbiamo visto come tra tante righe di codice da noi scritte, tramite il METODO MAIN si fornisce il PUNTO DI PARTENZA di un programma da eseguire. Sappiamo che tramite i METODI possiamo isolare BLOCCHI di ISTRUZIONI che verranno eseguite solo se INVOCATE, CHIAMATE; ed ora tramite la parola chiave IF abbiamo scoperto che abbiamo un altro modo per eseguire o no, i BLOCCHI DI ISTRUZIONI.
Indichiamo quindi le parole chiave che ci consentono il CONTROLLO del FLUSSO di esecuzione di un programma, tramite decisioni condizionali. Per il momento ci siamo soffermati su IF ed ELSE; vedremo le prossime nelle future lezioni.

039.png


Una volta appreso le istruzioni condizionali, abbiamo in pugno il LINGUAGGIO JAVA.
in teoria non ci serve sapere più nulla e possiamo smettere di imparare altre cose; perchè disponiamo dei mezzi necessari a programmare un computer, a fargli eseguire tutto quello che noi vogliamo; e a velocità della Luce.

Baci e abbracci, OTTOFONSUPPOST.
 
Ultima modifica:

ottofonsuppost

Utente Attivo
10 Mag 2016
170
13
18
LEZIONE n. 35 LINGUAGGIO JAVA per ex neofiti
Durata: 3 minuti

Anche se il nostro era un piccolo programma; ricreate il CODICE previsto nelle lezioni 31 e 31BIS; poi caricate in NETBEANS il pluging EASYUML e disegnate i diagrammi in linguaggio UML, come nel filmato che segue

Per il momento non è necessario leggersi le spiegazioni del LINGUAGGIO U.M.L. , basato su diagrammi, e qui di seguito indicate all'indirizzo


www.cs.unibo.it/gabbri/MaterialeCorsi/1.introUML.favini.pdf

Eccovi un altro programma gratuito per creare grafici UML

https://sourceforge.net/projects/violet/?source=typ_redirect
 
Ultima modifica:

ottofonsuppost

Utente Attivo
10 Mag 2016
170
13
18
LEZIONE n. 36 LINGUAGGIO JAVA per ex neofiti
Durata: 3 minuti


La massa degli studenti JAVA viene fatta operare da subito con i COMPONENTI VISUALI SWING per realizzare interfacce grafiche. Si tratta di cose che inizialmente non servono a nulla. Prima occorre possedere i fondamentali strumenti di programmazione JAVA. A noi mancano solo i CICLI di ITERAZIONE per poter realizzare applicazioni eccezionali.
Questo corso per neofiti, non manda i suoi allievi allo sbaraglio, illudendoli di saper scrivere in LINGUAGGIO JAVA, senza capire nulla di programmazione.

il filmato che segue serve solo per farvi prendere confidenza con i nomi di alcuni componenti visuali, smanettate un po', portate ciò che volete nella maschera centrale.

Pochi lo sanno, ma si può programmare in JAVA senza utilizzare componenti visuali e senza addirittura utilizzare la programmazione ad oggetti.

Si consiglia di non perdere tempo ad utilizzare i COMPONENTI VISUALI di JAVA.
Meglio prima imparare a programmare un computer.

Baci e abbracci, OTTOFONSUPPOST.
 
Ultima modifica:

ottofonsuppost

Utente Attivo
10 Mag 2016
170
13
18
LEZIONE n. 37 LINGUAGGIO JAVA per ex neofiti
Durata: 3 minuti e 30 secondi

Per far ripetere al programma diverse volte un' istruzione, possiamo usare il

CICLO FOR

for (int x=1; x<=10: x++) { blocco di istruzioni da ripetere }

La variabile numero intero X viene inizializzata a 1 e viene incrementata di 1 ogni volta che sono finite le istruzioni da ripetere, ma se X supera 10 il ciclo ripetitivo finisce. Quindi la X è il nostro CONTATORE.
All'interno delle parentesi tonde di un ciclo FOR avremo tre fasi:
INIZIALIZZAZIONE; CONDIZIONE; INCREMENTO

Nel ciclo FOR siamo in presenza di un caso predeterminato, sappiamo cioè quante volte occorre eseguire il BLOCCO DI ISTRUZIONI che lo seguono. Trovandoci in presenza di un caso INDETERMINATO, cioè non sappiamo quante volte occorre rieseguire un BLOCCO DI ISTRUZIONI, allora useremo il

CICLO WHILE

che eseguirà le istruzioni che seguono, fino a quando UNA CONDIZIONE è TRUE, è vera

while (x < 11) { blocco di istruzioni da ripetere}

il ciclo while parte e subito controlla la CONDIZIONE e se è falsa, non esegue nulla; mentre se è vera ripeterà le istruzioni del blocco seguente. Possiamo leggere un ciclo WHILE in questo modo:
FINCHE' X è minore di 11; allora esegui il blocco tra parentesi graffe.
Se vogliamo che il BLOCCO DI ISTRUZIONI venga eseguito almeno una volta, allora dobbiamo ricorrere al ciclo DO-WHILE, dove in DO metteremo il blocco di istruzioni da eseguire e alla fine metteremo il WHILE per il controllo della condizione.

do {

blocco di istruzioni da eseguire}

while (x < 11);

https://www.jdoodle.com/online-java-compiler

Fai clic sull'indirizzo precedente, per aprire l' EDITOR VIRTUALE ed incollaci questo codice; poi dai EXECUTE
Codice:
System.out.println("ciclo FOR che stampa 5 volte la x\n"+
" for (int x=1; x<=5; x++)");
for (int x=1; x<=5; x++) { System.out.println(" X VALE "+x);}

System.out.println("\n ciclo WHILE che stampa 4 volte la x\n"+
" while (x<5)");
int x=1;
while (x<5){ System.out.println(" X VALE "+x); x++;}

System.out.println("\n ciclo   DO WHILE che stampa almeno una volta la x\n"+
" do { System.out.println(\" X VALE \"+x); x++;}\n while (x<5)");
x=5;
do { System.out.println(" X VALE "+x); x++;}
while (x<5);
 
Ultima modifica:

ottofonsuppost

Utente Attivo
10 Mag 2016
170
13
18
LEZIONE n. 38 LINGUAGGIO JAVA per ex neofiti
Durata: 90 secondi

in JAVA esiste anche l'istruzione SWITCH che consente, utilizzando numeri, di effettuare selezioni multiple; quindi anzichè scrivere un'enormità di costrutti IF-ELSE, faremo

switch (scelta) {
case 1: ...BLOCCO DI ISTRUZIONI; break;
case 2: ...BLOCCO DI ISTRUZIONI; break;
case 3: ...BLOCCO DI ISTRUZIONI; break;
case 4: ...BLOCCO DI ISTRUZIONI; break;
default: scelta inesistente; break; }

https://www.jdoodle.com/online-java-compiler

Fai clic sull'indirizzo precedente, per aprire l' EDITOR VIRTUALE ed incollaci questo codice, poi dai EXECUTE
Codice:
int mese=11;
switch (mese) {
case 1:System.out.println("January");break;
case 2:System.out.println("February");break;
case 3:System.out.println("March");break;
case 4:System.out.println("April");break;
case 5:System.out.println("May");break;
case 6:System.out.println("June");break;
case 7:System.out.println("July");break;
case 8:System.out.println("August");break;
case 9:System.out.println("September");break;
case 10:System.out.println("October");break;
case 11:System.out.println("November");break;
case 12:System.out.println("December");break;
default:System.out.println("Invalid mese");break;
}
 
Ultima modifica:

ottofonsuppost

Utente Attivo
10 Mag 2016
170
13
18
LEZIONE n. 39 LINGUAGGIO JAVA per ex neofiti
Durata: 6 minuti

OTTOFONSUPPOST, sergente con la benda nera sull'occhio destro, scruta la truppa, tutta sull'attenti. Poi sbotta: "Soldati!, oggi, con la lezione n. 39, vedremo tutte le nostre armi a disposizione per schiacciare come un moscerino JAVA. Eccovi l'armamentario che il nostro grande Esercito italiano vi ha fornito, per andare in battaglia:

Lezione 1: programma JDK
Lezione 2: BLOCCO NOTE
Lezione 3: metodo
Lezione 4: Import di librerie JAVA
Lezione 5: Punto e virgola
Lezione 6: Parentesi TONDE - QUADRE - GRAFFE
Lezione 7: Classe
Lezione 8: virgolette "" e VARIABILE
Lezione 10: Nome
Lezione 11: Commento
Lezione 12: TIPO int, String
Lezione 13: Dichiarazione di variabile
Lezione 14: segno " = " (assegnamento di valore/inizializzazione)
Lezione 16: programma NETBEANS
Lezione 19: CODICE - listato - programma
Lezione 21: termine INVOCARE/CHIAMARE
Lezione 22: PROMPT
Lezione 24: Array / Vettore e parola NEW
Lezione 27: Editor virtuale JDOODLE
Lezione 28: Traduttore GOOGLE
Lezione 29: INPUT e OUTPUT
Lezione 30: Operatori matematici + - * / e TIPI PRIMITIVI
Lezione 31: Funzionamento LINGUAGGIO JAVA; Progetto, Package, metodo MAIN,
modificatore di VISIBILITA', Parametri attuali e formali

Lezione 33: Compilatore JAVAC; File JAVA e file CLASS
Lezione 34: CONTROLLO DI FLUSSO: IF; operatori aritmetici, relazionali, condizionali
Lezione 35: U.M.L. - plugin EASYUML - programma VIOLET
Lezione 36: Componenti visuali SWING
Lezione 37: Cicli FOR, WHILE, DO-WHILE
Lezione 38: istruzione SWITCH

Controllate il vostro zaino, per bene; e intanto vi ricordo che per invocare/chiamare un METODO che si trova nella classe, basta un'istruzione di questo tipo:

y= nomeMetodo(a), dove dentro le parentesi tonde passeremo il parametro attuale

Se il metodo si trova in un altra classe allora scriveremo lo invochiamo/chiamiamo:

y= AltraClasse.nomeMetodo(a)

Soldati!: AAAA...ttenti!
Un rumore incredibile di tacchi risuona per tutto l'accampamento.
Poi il sergente riattacca:
"Scamorze!, ...ehm!,... soldati!, giurate voi di essere fedeli alla Repubblica Italiana, di osservarne la Costituzione e le leggi e di adempiere con disciplina ed onore tutti i doveri dello Stato per la difesa della Patria e la salvaguardia delle libere istituzioni; ma soprattutto per scrivere decentemente programmi in JAVA? Dite: lo giuro!".

"LO GIUROOOOOOOO!!!", tutti all'unisono.

 
Ultima modifica:

ottofonsuppost

Utente Attivo
10 Mag 2016
170
13
18
LEZIONE n. 40/a LINGUAGGIO JAVA per ex neofiti
Durata: 2 minuti

Qualsiasi manuale JAVA contiene UN DECIMO delle sue pagine, per insegnare il LINGUAGGIO JAVA; i restanti NOVE DECIMI sono la spiegazione di PROGRAMMAZIONE AD OGGETTI, ed uso di LIBRERIE già confezionate. Di solito la gente diventa "scema" e perde tempo ad imparare queste librerie, la sintassi, i comandi, e così facendo perde di vista il primo pilastro di un linguaggio di programmazione; cioè PROGRAMMARE.
IL vero scopo di JAVA è programmare un computer a fare quello che noi vogliamo.

Quindi nelle prossime lezioni ci dedicheremo alla creazione di TRE PROGRAMMI; utili per comprendere le potenzialità di una programmazione elementare in JAVA:

1) Controllo annuale RENDICONTO del CONDOMINIO
2) Strategia di gioco alla ROULETTE
3) Investire in Borsa

Mentre tutti illudono gli allievi col classico HELLO WORLD iniziale, e facendoli "giocare" subito con i componenti visuali della libreria SWING, sistemi inefficaci di insegnamento pratico, il nostro sergente verde con la benda nera sull'occhio destro, e con l'elmetto appuntito, ci guiderà a ragionare e costruire qualsiasi programma; ci insegnerà a trasformare il nostro pc in una persona amica, che farà il lavoro per noi, alla velocità della Luce, e senza errori.

Prima di procedere alla realizzazione dei TRE PROGRAMMI, ne creiamo ora uno che conterrà tutti gli strumenti di cui si è finora parlato. Un'unica lezione che sostituisce tutte le precedenti 39 LEZIONI. Avremo così il LINGUAGGIO JAVA spiegato in una sola lezione. Si tratta di un altro RECORD MONDIALE stabilito dal nostro amato sergente verde e fosforescente.
Quell'Università elettronica, inutile, dopo oltre 6 ore di corso non aveva messo in condizione i suoi studenti a pagamento di programmare una sola riga di codice JAVA; mentre questo elementare CORSO PER NEOFITI vi riesce dopo sole 3 ORE - 3 MINUTI e 47 SECONDI di lezione. Sbagliava chi rideva delle classi e metodi di carta, e delle volutamente errate spiegazioni fatte all'inizio di questo corso: era una strategia per trasformare qualunque neofita, in un provetto programmatore JAVA; dandogli nozioni gradualmente, affinchè potesse comprendere in maniera naturale i concetti.
 
Ultima modifica:

ottofonsuppost

Utente Attivo
10 Mag 2016
170
13
18
Lezione in allestimento
LEZIONE n. 40/b LINGUAGGIO JAVA per ex neofiti
Durata: x minuti

Servendoci della LEZIONE n. 39 creiamo un DIAGRAMMA che rappresenta la nostra BOZZA INIZIALE di programma, utile per vedere gli strumenti che abbiamo nel nostro "zaino" e che dovremo utilizzare

Click sul LINK che segue per prendere il programma gratuito VIOLET UML EDITOR
(U.M.L - Unified Modeling Language - Linguaggio di Modellizzazione Unificato)
e poi dovete creare lo stesso identico DIAGRAMMA fatto dal sergente OTTOFONSUPPOST

https://sourceforge.net/projects/violet/?source=typ_redirect

041.png


Con VIOLET create un ACTIVITY DIAGRAM, clic sulla figura corrispondente; salvate il file con nome

ACTdiagrTUTTOinUNO

042.png


Tra gli STANDARD BUTTONS, sulla destra avrete i segni + e - per fare lo zoom della maschera principale dove, utilizzando le opzioni del DIAGRAM TOOLS, porterete nel foglio a quadratini uno SCENARIO START

(clic su SCENARIO START, poi clic sul foglio a quadretti;
poi con la stessa tecnica portate il componente NOTE, in seguito il componente ACTIVITY e usando il tasto destro del mouse fate click, ad esempio sul componente NOTE del foglio a quadretti, e modificate le PROPERTIES)

i NOTE CONNECTOR si creano trascinando il mouse tra un componente e l'altro; mentre per spostare i componenti presenti sulla maschera o per variare le loro proprietà occorre premere prima, nel DIAGRAM TOOLS l'opzione SELECT.

Attenzione! Attenzione!:

il DIAGRAMMA va creato veramente e con pazienza; utilizzando in contemporanea il BLOCCO NOTE, dove prima avrete incollato tutte le righe della LEZIONE N. 39 che elencano il numero di lezioni con gli argomenti di volta in volta trattati. Mentre scriverete nei componenti di VIOLET il numero delle lezioni utilizzate; L1-L2-L3 ecc., cancellerete una alla volta le lezioni nelle righe del BLOCCO NOTE; finchè saranno alla fine tutte scomparse.
Per imparare a programmare in JAVA, non basta leggere, ma occorre fare pratica, manuale. IL copia e incolla non consente al nostro cervello di apprendere le cose. Chi crede di fare il furbo si sbaglia: dimenticherà presto tutto quanto letto.

ACTdiagrTUTTOinUNO
040.png
 
Ultima modifica:

ottofonsuppost

Utente Attivo
10 Mag 2016
170
13
18
Lezione in allestimento
LEZIONE n. 40/c LINGUAGGIO JAVA per ex neofiti
Durata: x minuti

il PROGRAMMA che ora creiamo non avrà un senso logico; perchè è solo una scusa per applicare tutti gli strumenti JAVA di cui siamo finora a conoscenza. Quindi ci serviremo di una specie di AVVENTURA MODERNA, una SIMULAZIONE, dove noi faremo una CROCIERA, prenotando il biglietto presso un'agenzia turistica; poi andremo nella sala ristorante, dove leggeremo un menù e sceglieremo un cameriere che parli la nostra lingua.

Sappiamo che con JAVA, tramite CLASSI e metodi, otteniamo la scomposizione delle ISTRUZIONI CODICE, in tanti piccoli pezzi, in BLOCCHI DI CODICE; quindi potremmo partire da qualsiasi pezzo di codice da creare; ma, ci conviene ora creare i BLOCCHI DI ISTRUZIONI utilizzando la PRIMA PARTE DEL PROGRAMMA che figura nel diagramma scritto in U.M.L e chiamato: ACTdiagrTUTTOinUNO.
Quella BOZZA di programma, ora la trasformeremo in un ulteriore diagramma, che rappresenterà proprio le nostre azioni, in maniera specifica, e non più generalizzata e tutta riunita. La terza, ultima e finale rappresentazione di DIAGRAMMA, conterrà invece tutto il nostro PROGRAMMA FINALE, che ci illustrerà il CODICE scritto, con tanto di CLASSI e METODI e PARAMETRI e VARIABILI, figurate, rappresentate.
Queste tre fasi di creazioni DIAGRAMMI ci fanno intuire che un programma JAVA nasce partendo da una prima fase GENERALE che descrive per sommi capi il PROBLEMA nonchè il da farsi; e poi si scende sempre più di livello, fino ad entrare nel particolare, nella singola istruzione di codice. Neanche i programmatori professionisti sono in grado di effettuare un unico DIAGRAMMA finale alla loro prima stesura del codice.

Guardando il DIAGRAMMA BOZZA INIZIALE si intuisce perchè tutto il PROGETTO è stato suddiviso in due parti: la prima parte ci costringe ad usare il BLOCCO NOTE nella scrittura del codice, e usa il JDK per la compilazione; mentre la seconda parte fa uso dell'IDE NETBEANS.
Ormai abbiamo capito che si tratta di una scusa per mettere in pratica gli insegnamenti del corso.

Abbiamo fatto il DIAGRAMMA BOZZA INIZIALE che ci rappresenta il PROBLEMA e IL DA FARSI; ora per tutti noi che non siamo programmatori specializzati, non è obbligatorio fare prima il DIAGRAMMA del CODICE e poi procedere alla scrittura del CODICE; anzi: ci conviene fare agli inizi, proprio il contrario; prima scriviamo la CLASSE e dopo faremo il DIAGRAMMA; la cosa che conta è solo che il diagramma rappresenti fedelmente e dettagliatamente il nostro codice.
Useremo il DIAGRAMMA BOZZA generale e generico precedentemente sviluppato, per creare un nostro nuovo diagramma dettagliato, che formeremo in contemporanea con la scrittura del codice.
 
Ultima modifica:

ottofonsuppost

Utente Attivo
10 Mag 2016
170
13
18
Lezione in allestimento
LEZIONE n. 40/d LINGUAGGIO JAVA per ex neofiti
Durata: x minuti


Aprite NETBEANS; clic su FILE / NUOVO PROGETTO / JAVA / JAVA APPLICATION e clic su SUCCESSIVO, al nome progetto mettete tutto scritto in maiscolo CRISTOFOROCOLOMBO poi premete su FINE. Ora date il RUN.

Esaminiamo, sulla sinistra, il gruppo PROJECTS: espandiamo tutti i RAMI facendo clic sui segni +
Noteremo che l'IDE NETBEANS ha creato due cartelle chiamate Cristoforocolombo: portando il cursore sulla prima ci comparirà una scritta gialla, un TOOLTIP, un piccolo "box" con informazioni supplementari; che dice
Java Source Package (cristoforocolombo)
mentre quello sotto vediamo che porta la scritta
CRISTOFOROCOLOMBO.java
e ora col il tasto destro del mouse chiediamo le PROPRIETA' di questo CRISTOFOROCOLOMBO.java

la finestra proprietà che si aprirà ci dice: che il nome del FILE è CRISTOFOROCOLOMBO e che ha Extension: java
il dato che ci interessa è ALL FILES: notiamo che ci descrive una riga lunghissima che termina con un quadratino con tre puntini; clicchiamo proprio su quel quadratino, così potremo leggere tutta la riga.
Abbiamo appena scoperto dove è stato memorizzato sul nostro disco rigido del computer il programma CRISTOFOROCOLOMBO, il listato, il codice, che abbiamo appena creato: vediamo che si trova sul disco C:, in varie cartelle, e che il PACKAGE con la scritta cristoforocolombo in minuscolo si trova nella cartella
src
e che dentro al file/cartella/PACKAGE è contenuto il file CRISTOFOROCOLOMBO.java che dovrà in seguito essere compilato dal JDK

Quindi se vogliamo usare il DOS per creare una cartella PACKAGE che conterrà il nostro codice JAVA, dobbiamo sapere la DIRECTORY esatta dove creare queste nostre nuove cartelle.

Ora: lasciando aperta quella finestra di proprietà che ci indica il percorso da utilizzare, apriamo il PROMPT del DOS:

in CERCA PROGRAMMI E FILE digitiamo CMD

e con il comando CD.. portiamoci nei rami di questa directory, utilizzando anche i comando DIR per vedere il contenuto.
Servendoci di quella schermata PROPRIETA' aperta in NETBEANS facciamo tutto il percorso suggeritoci e per entrare nel ramo NetBeansProjects digitiamo CD netbeansprojects /p in questo modo se siamo in presenza di tante cartelle la pagina si fermerà facendoci vedere le prime contenute, per continuare lo scorrimento ci basta premere il tasto INVIO/ENTER(oppure digitiamo CD netbeansprojects e poi usiamo il cursore a destra per vedere le cartelle contenute).

Abbiamo visto che in NETBEANSPROJECTS esiste un file CRISTOFOROCOLOMBO: quella cartella è il progetto; infatti dando il comando DIR vediamo che compaiono diversi file, diverse cartelle, con estensione .XML, .MF; e esiste una directory chiamata SRC

facendo CD SRC vedremo una cartella scritta in minuscolo che vale zero byte; quel cristoforocolombo scritto in minuscolo è il PACKAGE che dovrà contenere i diversi file JAVA che inventeremo, cioè le CLASSI che scriveremo. Ora, dando
CD cristoforocolombo e poi DIR, ci troveremo faccia a faccia con il nostro file JAVA: CRISTOFOROCOLOMBO.java, scritta in maiuscolo; si tratta di una cartella, di un file, grande 465 BYTE

Tutto questo discorso a cosa ci è servito?
A sapere dove dobbiamo salvare i nostro programma JAVA che scriveremo alla maniera "antica" con il BLOCCO NOTE, con tanto di PACKAGE(il package in definitiva è una semplice cartella contenitore), usando il DOS; perchè questi file dovranno essere trovati dal COMPILATORE JDK, quindi devono trovarsi nel posto giusto. Usando NETBEANS, quel tool di sviluppo fa tutto il lavoro per noi, ma così facendo noi non sappiamo il lavoro che c'è dietro, ed in presenza di problemi di funzionamento, non sapremo cosa fare per risolvere un problema.
Ora usiamo WINDOWS per effettuare gli stessi passaggi fatti col DOS; ma stiamo attenti perchè la cartella DOCUMENTS in windows compare con il nome DOCUMENTI.

Arrivati alla cartella CRISTOFOROCOLOMBO.java diciamogli di aprirla CON il BLOCCO NOTE e vedremo il nostro programma/listato/codice; con le righe istruzioni PACKAGE, CLASS, metodo MAIN e parentesi graffe.
Ma visto che noi abbiamo dato il RUN il compilatore JDK deve aver creato il file CRISTOFOROCOLOMBO.class cioè il BYTECODE compilato che la VIRTUAL MACHINE dovrà eseguire, interpretare. il BYTECODE non è il LINGUAGGIO MACCHINA del processore che si trova nel nostro computer; il BYTECODE è un linguaggio intermedio. i pc delle persone hanno sistemi operativi differenti, e anche processori diversi, per potenza e di diverse case di fabbricazione.
JAVA installando una VIRTUAL MACHINE in questi PC diversi, ottiene la PORTABILITA' di un programma in ogni macchina grazie a questo linguaggio intermedio BYTECODE. Portando il BYTECODE in ogni dispositivo dotato di VIRTUAL MACHINE JAVA, quel programma, che avrà estensione CLASS e non .JAVA, verrà interpretato ed eseguito. E' questa la vera forza di JAVA che lo rende un linguaggio universale, pratico.

Ma ritorniamo al nostro problema: dove si trova sul nostro pc il file CRISTOFOROCOLOMBO.class che NETBEANS ci ha creato?
Ricerchiamolo usando la ricerca WINDOWS; portandoci nella directory NetBeansProjects.
Ci comparirà un file di TIPO CLASS e chiedendone le proprietà scopriamo che il progetto CRISTOFOROCOLOMBO, ha una cartella chiamata BUILD che contiene la cartella CLASSES che contiene una cartella CRISTOFOROCOLOMBO dove dentro troviamo finalmente CRISTOFOROCOLOMBO.class, il nostro byecode da portare in qualsiasi dispositivo dotato di VIRTUAL MACHINE JAVA.

la lezione segue nel prossimo messaggio
 
Ultima modifica:

ottofonsuppost

Utente Attivo
10 Mag 2016
170
13
18
seguito della lezione 40/d

Ora chiudiamo NETBEANS, riapriamolo e chiudiamo tutti i progetti che ci sono; alla fine nella cartella di sinistra PROJECT non deve esserci nulla.
Ora FILE / APRI FILE e andiamo a prendere il nostro CRISTOFOROCOLOMBO.class, ormai sappiamo dove si trova e apriamolo.
Vediamo che NETBEANS ci fa vedere il sorgente, su cui possiamo fare i RUN, ma nella cartella di sinistra PROJECTS è tutto vuoto. Guardando il codice, chiudiamo il FILE .class appena aperto facendo clic sulla X che si trova a destra della parola CRISTOFOROCOLOMBO; attenzione non si tratta della X rossa sulla destra ma della x della cartella del codice che si trova a sinistra.
Ora avremo bianchi il CODICE e la cartella di sinistra projects.

Faremo FILE / OPEN PROJECT sceglieremo CRISTOFORO COLOMBO e cliccando su OPEN PROJECT rivedremo nella cartella di sinistra PROJECTS il nostro package e il nostro file JAVA.
Ormai non ci resta che vedere se abbiamo capito cosa fa NETBEANS dietro le quinte e come noi possiamo farlo alla maniera "antica" usando il BLOCCO NOTE e il JDK.

Selezioniamo tutto il sorgente CRISTOFOROCOLOMBO, il listato, e con un copia/incolla portiamolo in un BLOCCO NOTE.
Nell'editor BLOCCO NOTE togliamo tutti i commenti inutili; dopo la prima parentesi graffa aperta del METODO MAIN scriviamo questa istruzione

System.out.println(" Cristoforo Colombo oggi ha scoperto JAVA");

Ora modifichiamo la riga istruzione PACKAGE in
package esploratoreJAVA;

e modifichiamo la CLASSE in
public class ScrivoProgrammaJava {

alla fine dovremmo avere nel BLOCCO NOTE queste semplici righe di CODICE
Codice:
package esploratoreJAVA;

              public class ScrivoProgrammaJava {

    public static void main(String[] args) {

System.out.println("Cristoforo Colombo oggi ha scoperto JAVA");     }    }

Questo listato ci dice che dovremo creare una cartella chiamata esploratoreJAVA(è il package) che contiene una cartella chiamata ScrivoProgrammaJava che contiene il nostro listato/codice chiamato ScrivoProgramma.Java

Quindi portiamoci con WINDOWS sulla cartella NetBeansProjects e creiamo una nuova cartella chiamandola esploratoreJAVA

ed in questa cartella esploratoreJAVA salviamo con il BLOCCO NOTE dando nome ScrivoProgrammaJava.java al nostro testo.

Occorre accertarsi che il file appena salvato abbia effettivamente l'estensione .JAVA e che non sia un file txt. Controlliamo tramite WINDOWS se ha solo estensione .JAVA cercando nella directory NetBeansProjects il file ScrivoProgrammaJava

Per maggior sicurezza apriamo NETBEANS, chiudiamo tutti i progetti; avendo SORGENTE e cartella PROJECTS bianchi, apriamo FILE ScrivoProgrammaJava; dovrà aprirsi il codice dove vedremo la riga istruzione PACKAGE, la CLASSE, e il messaggio del println.
Mi raccomando: state attenti a non dare il RUN.

Ora andiamo nel PROMPT e compiliamo il nostro programma.
Portatevi col comando CD.. nella cartella NetBeansProjects dando sempre il DIR
poi portatevi sulla cartella del package

cd esploratoreJAVA dando il DIR

e finalmente compilate il programma, la CLASSE, dando il comando
javac ScrivoProgrammaJava.java
State attenti nel digitare correttamente il nome della classe, con le maiuscole giuste e attenti al PUNTO.JAVA finale.
Se tutto è andato bene avrete compilato e creato un file di tipo CLASS; date il DIR per vederlo.

Bene ora sappiamo come compilare un programma tramite DOS e il JDK, senza passare dall'IDE NETBEANS.
Per dare il RUN tramite la riga di comando del JDK, occorre rammentare che la nostra CLASSE ha come prima istruzione una riga PACKAGE; quindi eseguiremo il programma dando questi comandi:
java esploratoreJAVA.ScrivoProgrammaJava
e vedremo comparire il messaggio atteso: "Cristoforo Colombo oggi ha scoperto JAVA".

Esistono milioni di programmatori che usano JAVA ma non sanno dove mettere le mani in caso di problemi: hanno scordato cosa fa dietro le quinte un IDE.
In presenza di quella riga PACKAGE, in caso di RUN tramite riga di comando, non sanno che occorre mettere il comando java, il nome del package, seguito dal PUNTO e nome della CLASSE.
IL filmato che segue è un monito per tutta quella marea di programmatori che, furbi, usano gli IDE, e alla fine non hanno saputo risolvere un piccolo problema neanche dopo ore e ore inutili, alla ricerca "dell'ARCA PERDUTA". Sono stati salvati da un angelo, compassionevole...

Tutti questi passaggi forse li considererete inutili, ma non è così.
Parola del sergente OTTOFONSUPPOST.

 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
ottofonsuppost Ottofonsuppost si presenta Presentati al Forum 0
R tabella troppo grande Database 0
E Come gestire al meglio le immagini legno grande formato Photoshop 0
D Cerco account insta grande italiano. Annunci servizi di Social Media Marketing 1
Giatenx COMPRO pagina facebook non troppo grande Annunci servizi di Social Media Marketing 1
Cristiano707 Vendo grande instagram account 83K Annunci servizi di Social Media Marketing 1
Monital [PHP] ciclo su un file json molto grande PHP 1
voldemort Scelta Router Professionale per una grande struttura alberghiera Reti LAN e Wireless 5
S Un grande ciao a tutti Presentati al Forum 2
F vendo pubblicità su fan page molto grande Annunci servizi di Social Media Marketing 0
alessandro1997 Il grande dittatore Discussioni Varie 2
C Davide e Rosa grande fratello 11 forum ufficiale Presenta il tuo Sito 0
C Ferdinando Giordano e Angelica Livraghi grande fratello 11 forum ufficiale Presenta il tuo Sito 0
TestudoRomano Grande Decisione se diventare web master o no' ? Supporto Mr.Webmaster 11
M Fan club Mauro Marin Official Forum - Grande Fratello 10 <--- ~Concorrente GF10 ~ Ca Presenta il tuo Sito 1
emanuelevt sito sia per piccola / grande banda Javascript 1
P Catturare la schermata di un sito più grande dello schermo Webdesign e Grafica 7
A la grande squadra Presenta il tuo Sito 0
C Grande progetto sul web semantico Altri Annunci 0
G Piccolo ma grande problema con pulsante Flash 7
Antoll MA video: APOCALISSE - La Grande Menzogna Discussioni Varie 19
V Opportunità Di Lavorare Con Il Più Grande Centro Comerciale Online !!!!! Guadagnare col Sito 0
borgo italia se ho un form molto grande PHP 3
A Lago-di-garda.fm: portale turistico sul Lago di Garda, il più grande lago italiano Presenta il tuo Sito 0
A Una Grande Occasione!!! Discussioni Varie 5
K GRANDE OCCASIONE: solo fino al 19 Dicembre 2006!!! Guadagnare col Sito 3
T Grande attesa redirect! Supporto Mr.Webmaster 1
lukeonweb (Ironico) grande HTML.it Discussioni Varie 7
S immagine troppo grande Photoshop 4
S immagine grande Webdesign e Grafica 0
G Chi mi da una soluzione sarà sicuramente un grande! HTML e CSS 1
F Grande raccolta di script Altri Annunci 2
L CSS neofita..primi passi..1 SOLO GRANDE DUBBIO!!! HTML e CSS 2
Filippine Mi serve un grande aiuto con il flash Flash 4
D Grande Problema!!!!Aiuto!!! Classic ASP 1
S Nuovo grande sito! Presenta il tuo Sito 8
M Un piccolo... grande portale. Presenta il tuo Sito 2
L Grande problema con fronte page!!!!! HTML e CSS 0
borgo italia guerra al web Discussioni Varie 1
peppoweb Yahoo dichiara guerra allo spam Discussioni Varie 0
peppoweb Gli Usa dichiarano guerra allo spam Discussioni Varie 1
peppoweb Spam, l'assalto dei dialer di guerra Sicurezza e Virus 0
peppoweb Web affollato per la guerra, i siti governativi crollano Discussioni Varie 1
grottafelix Ormai è guerra. Discussioni Varie 8
maxbossi Sondaggio sulla Guerra Discussioni Varie 4

Discussioni simili