Gli obiettivi di questa esercitazione sono: capire e saper utilizzare la parola
riservata package, i commenti ed il comando javadoc,
la documentazione e i package delle API Java (capitoli 10 e 11 fino a 11.2).
Raccomandazioni: Ove non altrimenti indicato, rispondete alle domande prima ragionando su carta e poi provando a editare, compilare ed eseguire. Gli esercizi etichettati con l'asterisco (*) sono più difficili: affrontateli dopo aver risolto gli altri.
Obiettivo: saper utilizzare i package.
Attività:
Esercizio1Attivita1 inserito nel package
es20. Il programma deve semplicemente stampare ciao a tutti.
Provate a compilarlo ed eseguire.Esercizio1Attivita1 dell'attività
precedente nel package twm.labprog.aa0203.es20. Provate a compilarlo
ed eseguire.A nel package
es20.prova1 con un unico metodo
public int m1() {return 3;}
Definite la classe pubblica B nel package es20.prova2
con un unico metodo
public int m2() {return 5;}
Completate il programma Esercizio1Attivita3 per fargli stampare
8.
package es20.prova3;
import ...;
import ...;
class Esercizio1Attivita3 {
public static void main(String[] args) {
... pippo = new ...;
... pluto = new ...;
System.out.println(pippo.m1()+pluto.m2());
}
}
Esercizio1Attivita4 stampi 15 (notate l'uso dei full qualified
names).
package es20.prova3;
class Esercizio1Attivita4 {
public static void main(String[] args) {
es20.prova2.B pippo = new es20.prova2.B();
System.out.println(pippo.m1()*pippo.m2());
}
}
Suggerimento: non dovete aggiungere metodi.Obiettivo: saper utilizzare javadoc.
Attività:
ScacchieraScomoda
il cui codice è riportato qui di seguito.
public class ScacchieraScomoda {
private boolean[ ][ ] dati;
private int riga;
private int colonna;
private static final int DIMENSIONE_MASSIMA = 26;
public ScacchieraScomoda(int dimensione, int riga, char colonna) {
dimensione = dimensione>DIMENSIONE_MASSIMA ? DIMENSIONE_MASSIMA : dimensione;
this.dati = new boolean[dimensione][dimensione];
this.riga = riga-1;
this.colonna = colonna - 'a';
}
public ScacchieraScomoda() {
this(8,1,'a');
}
public void metti() {
if (dati[riga][colonna])
System.out.println("La cella e' gia' occupata");
else
dati[riga][colonna] = true;
}
public void selezionaCella(int riga, char colonna) {
this.riga = riga-1;
this.colonna = colonna - 'a';
}
public String toString() {
int dimensione = dati.length;
String temp = " ";
for (int i = 0; i<2*dimensione+1; i++)
temp += "-";
temp += "\n";
for (int i = 0; i<dimensione; i++) {
temp += (dimensione-i<10?" ":"")+(dimensione-i)+" |";
for (int j = 0; j<dimensione; j++)
temp += (dati[(dimensione-i-1)][j]?"x":" ") + "|";
temp += "\n ";
for (int j = 0; j<2*dimensione+1; j++)
temp += "-";
temp += "\n";
}
temp += " ";
for (int i = 0; i<dimensione; i++)
temp += ((char)('a'+i)) + " ";
return temp;
}
}
ScacchieraScomoda.Obiettivo: iniziare a prendere confidenza con i package e la documentazione delle API Java.
Attività:
String. Scrivere il programma
Esercizio3 che legge da tastiera una stringa e, utilizzando l'opportuno
metodo della classe String, stampa la versione tutta in maiuscolo
della stringa immessa.String.Esercizio3 per far inserire da
tastiera due stringhe, farle confrontare tra loro e far stampare solo quella
che viene prima in ordine alfabetico (o lessicografico).Random. Scrivete
il programma LanciaDado che ad ogni pressione del tasto invio
"lancia un dato" e stampa a video il numero che è venuto
fuori.
Paolo Coppola