Visualizzazione dei risultati da 1 a 5 su 5

Discussione: toString

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2016
    Messaggi
    110

    toString

    Ciao a tutti,
    ho una classe ContaPoveri che conta il numero di famiglie che vengono considerate povere.
    Si utilizza una classe Famiglia che ha gli attributi reddito (double) e dimensione famiglia e i metodi:
    - Famiglia(reddito, dimensione) costruttore che inizia gli attributi;
    - povera(costoCasa, costoCibo) che restituisce vero se costoCasa + (costoCibo*dimensione) è maggiore di metà del reddito.
    - toString che è un metodo che restituisce una stringa contente le informazioni della famiglia.

    Ora, io ho creato tutto tranne che il metodo toString... non sto capendo come catturare il return del metodo boolean povera in modo tale da automatizzare il risultato stampato in base a quel che restituirà il metodo povera. Non so se ho reso l'idea...

    Ho fatto così:

    codice:
    package arraylist;
    
    
    public class Famiglia {
    	double reddito;
    	int dimensione;
    	
    
    
    
    
    	public Famiglia(double redditoiniziale, int dimensioneiniziale){
    		reddito = redditoiniziale;
    		dimensione = dimensioneiniziale;
    	
    	}
    	
    	public boolean povera(double costoCasa, double costoCibo){
    		double check = costoCasa + (costoCibo * dimensione);
    		if (check > reddito/2){
    			return true;
    		}
    		return false;
    	}
    	
    	public String toString(){
    		System.out.println("Il reddito della famiglia è: " + reddito);
    		System.out.println("Il numero di membri della famiglia è: " + reddito);
    		//System.out.println("La famiglia è povera? " + povera());
    	}

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Innanzitutto, toString deve restituire una stringa, non dovrebbe stampare un bel nulla esplicitamente.
    Inoltre toString serve per ottenere una rappresentazione testuale dello "stato" (variabili di istanza) dell'oggetto che nel tuo caso è composto da
    double reddito;
    int dimensione;

    Non vedo come tu possa usare povera( ..... )
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2016
    Messaggi
    110
    Quindi dovrebbe essere una cosa così:

    codice:
    public String getFamiglia(){
    		return "Reddito: " + reddito + " Dimensione: " + dimensione; 
    	}
    	
    	public String toString(){
    		return getFamiglia();
    	}

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Quote Originariamente inviata da Sevenis Visualizza il messaggio
    Quindi dovrebbe essere una cosa così:

    codice:
    public String getFamiglia(){
            return "Reddito: " + reddito + " Dimensione: " + dimensione; 
        }
        
        public String toString(){
            return getFamiglia();
        }
    Tecnicamente funziona ma qual è il senso del metodo getFamiglia()? Un metodo come quello che hai scritto, dentro alla classe Famiglia e che restituisce String francamente mi pare assurdo, perché non inserisci quella logica direttamente all'interno del toString() ?

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2016
    Messaggi
    110
    Giusto, grazie mille.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.