Esercitazioni JAVA


pagine di Roberto Ricci L.S. "A. Righi", Bologna. Ultima revisione


 
 
 

Per iniziare


 
  1. Inserire il floppy personale per salvare le esercitazioni nel dirive A:
  2. Aprire il file fond1eo\Es2.htm per leggere e seguire l'esercitazione
  3. Ridurre le dimensioni della finestra che deve restare visibile ma consentire la visibilità di un'altra nuova finestra

 
 
 

Classi di oggetti; classe Accumulatore;

Una classe, in generale, è un modulo per definire Una classe definisce oggetti specificando Vediamo come realizzare una prima classe, come definire in una applicazione un oggetto di quel tipo e come utilizzarlo.
  1. Aprire l'ambiente JCreator facendo Click due volte rapidamente sull'icona sul desktop
  2. Ridimensionare la finestra in modo che sia visibile anche quella con il resto dell'esercitazione
  3. Aprire con File/New una finestra di editor scegliendo l'opzione Files e indicando il Filename: Accumulatore e la Location: A:\
  4. Selezionare con il mouse il testo seguente:
    public class Accumulatore {
    	
    	  /*
    	  * i metodi
    	  */
    	 
    	  public  void add() {
    	  	acc +=1;
    	  }
    	
    	  public  void add(int n) {
    	  	acc +=n;
    	  }
    	
    	  public  void elim() {
    	  	acc -=1;
    	  }
    	
    	  public  void elim(int n) {
    	  	acc -=n;
    	  }
    	
    	  public  int val() {
    	  	return acc;
    	  }
    	  
    	  public  void azzera() {
    	  	acc =0;
    	  }
    
    	  /*
    	   * i costruttori per la produzione di oggetti 
    	   * del tipo descritto da questa classe
    	   * (hanno sempre lo stesso nome della classe)
    	   */
    	   
    	  public Accumulatore (){
    	  	azzera();
    	  }
    	  
    	  public Accumulatore (int n){
    	  	acc=n;
    	  }
    	  
    	  /*
    	   * le proprietà -  o campi o stati o attributi -
    	   * incapsulate negli oggetti di questo tipo
    	   */
    	   
    	  private int acc;
    }
    
    
  5. Copiarlo con Copia e poi Incolla nella finestra di editor di JCreator
  6. Salvarlo in A: con File/Save
  7. Compilarlo con Build/Compile File
  8. Quando non ci sono errori di compilazione, salvare di nuovo con File/Save
  9. Riprendere l'applicazione Secondo.java e modificarla utilizzando un oggetto di nome a del tipo Accumulatore dichiarandolo con la sintassi
    Accumulatore  a;
    a = new Accumulatore();
    
    e "azionandolo" ad esempio con
    a.add(i)
    
    per incrementarlo di i, o con
    a.val()
    
    per ottenerne il valore attuale.

 
 

Classe Crono


  La classe System del package java.lang ha, tra attributi come out che costituisce l'output standard - a sua volta un oggetto della classe PrintStream, che ha metodi come print() e println() -, metodi come ad esempio currentTimeMillis() che legge il cronometro interno in millisecondi, cronometro che si considera scattato alle ore 0 del 1/1/1970.
  1. Scrivere ed eseguire un'applicazione che visualizzi in output gli anni misurati dal cronometro della classe System.
    1. Scrivere in un file dal nome opportuno la classe descritta nel seguente listato
      public class Crono{
      	/* 
      	 *Metodi
      	 */
      	 public void start(){
      	 	if (! inFunzione){
      	 		tIni = System.currentTimeMillis();
      	 		inFunzione = true;
      	 	}
      	 }
      	 
      	 public void stop(){
      	 	if (inFunzione){
      	 		durata = System.currentTimeMillis() - tIni;
      	 		inFunzione = false;
      	 	}
      	 }
      	 	
      	 public void reset(){
      	 	if (! inFunzione){
      	 		tIni = 0;
      	 		durata = 0;
      	 	}
      	 }
      	 
      	 public long rileva(){
       		return durata;
      	 }
      
      	/*
      	 *Costruttore
      	 */
      	 public Crono(){
      	 	inFunzione= false;
      	 	reset();
      	 }
      	 
      	 /*
      	  *Attributi - Proprietà - Stati - Campi
      	  */
      	  
      	  private boolean inFunzione;
      	  private long tIni, durata;
      	  
      }
      
    2. Salvare e compilare il file
    3. Riprendere l'applicazione Secondo.java. Creare e utilizzare un oggetto di nome mioCrono di tipo Crono e utilizzarlo per misurare quanto tempo occorre per eseguire la somma dei primi 10000, 100000 ... numeri naturali.
      (Consigli per l'uso: farlo scattare prima del ciclo, interromperlo subito dopo, visualizzare in output la misura rilevata)
NOTA: Al termine di ogni sessione di lavoro fare una copia del floppy (selezionare l'icona del drive A: poi click[Tasto Destro]Copia disco...) e poi spegnere il computer con Start/Chiudi sessione/Arresta il sistema.
pagine di Roberto Ricci L.S. "A. Righi", Bologna. Ultima revisione