Java example: method return

Esercizio 1

Copiare in un nuovo progetto vuoto in Eclipse la classe Quandrato, che rappresenta la figura geometrica omonima, riportata di seguito:

public class Quadrato{
  private float lato;
}

Aggiungere alla classe:

  • un metodo “impostaLato” che prende come parametro la lunghezza del lato e imposta il valore dell’attributo della classe
  • un metodo “calcolaArea” che non prende parametri e che restituisce il valore dell’area del quadrato

Scrivere in un altro file la seguente classe:

public class Esercizio1Quadrato{
  public static void main(String []args){
    Quadrato q1,q2;
  }
}

Completare il metodo main della classe nel modo seguente:

  • aggiungere l’inizializzazione dei due oggetti q1 e q2
  • chiedere all’utente di inserire il valore del lato di q1 e di q2, l’utente deve inserire per forza valori positivi maggiori di zero, se non lo fa le richieste di inserimento vanno ripetute (non una volta sola ma tutte le volte necessarie, teoricamente anche all’infinito)
  • chiamare i due metodi “impostaLato” dei due oggetti q1 e q2 passando loro i due valori inseriti dall’utente
  • visualizzare sulla console il risultato dell’esecuzione dei metodi “calcolaArea” dei due oggetti q1 e q2

 

public class Quadrato {
	private float lato;

	public void impostaLato(float nuovoValoreLato) {
		lato = nuovoValoreLato;
	}

	public float calcolaArea() {
		return lato * lato;
	}
}
import java.util.Scanner;

public class Esercizio1Quadrato {
	public static void main(String[] args) {
		Quadrato q1, q2;
		float lato;
		Scanner s;
		s=new Scanner(System.in);
		do{
			System.out.print("valore del lato del quadrato 1:");
			lato=s.nextFloat();
		}while(lato<=0);
		q1=new Quadrato();
		q1.impostaLato(lato);
		do{
			System.out.print("valore del lato del quadrato 2:");
			lato=s.nextFloat();
		}while(lato<=0);
		q2=new Quadrato();
		q2.impostaLato(lato);
		System.out.println("area del quadrato 1:"+q1.calcolaArea());
		System.out.println("area del quadrato 2:"+q2.calcolaArea());
	}
}

Esercizio 2

Copiare in un nuovo progetto vuoto in Eclipse solo il file Quadrato.java scritto nell’esercizio precedente.

Copiare poi in un nuovo file Java la seguente classe “Esercizio2Quadrato”:

public class Esercizio2Quadrato{
  public static void main(String []args){
    Quadrato Q;
    Q=new Quadrato();
    Q.impostaLato(3.5f);
    System.out.println(Q.lato);
  }
}

Se si prova ad eseguire il programma viene generato un errore, perché l’attributo “lato” della classe “Quadrato” è privato e quindi il metodo main (così come qualsiasi altro metodo fuori dalla classe “Quadrato”) non può accedere al suo valore.
Modificare la classe “Quadrato” aggiungendo un metodo con nome a piacere e senza parametri che restituisce il valore del lato.
Modificare il metodo main riportato sopra in modo che usi il metodo appena creato nella classe “Quadrato” per visualizzare sulla console il valore del lato del quadrato Q.

public class Quadrato {
	private float lato;

	public void impostaLato(float nuovoValoreLato) {
		lato = nuovoValoreLato;
	}

	public float calcolaArea() {
		return lato * lato;
	}
	
	public float restituisciLato(){
		return lato;
	}
}