Visualizzazione dei risultati da 1 a 5 su 5

Discussione: cosa viene in output

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    123

    cosa viene in output

    codice:
    import java.util.*;
    import contenitori.Contenitore;
    import contenitori.Tanica;
    import contenitori.Flacone;
    
    public class ProvaContenitori {
        public static void main(String[] args){
            Contenitore t1 = new Tanica(10.0, 9.5, 0.6);
            Contenitore t2 = new Tanica(11.0, 9.5, 0.6);
            Contenitore t3 = new Tanica(10.0, 9.5, 0.3);
            Contenitore t4 = new Tanica(10.0, 9.5, 0.6);
            Contenitore f1 = new Flacone(10.0, 9.5, 2009);
    
            System.out.println("\n-- test toString");
            confronta(t1.toString(), "10.0 9.5 0.6");
            confronta(f1.toString(), "10.0 9.5 2009");
    
            System.out.println("\n-- test equals");
            confronta(t1.equals(t2)+"", "false");
            confronta(t1.equals(t3)+"", "false");
            confronta(t1.equals(t4)+"", "true");
            confronta(t1.equals(f1)+"", "false");
    
            System.out.println("\n-- test preleva");
            t1.preleva(5.0);
            confronta(t1.toString(), "10.0 4.5 0.6");
            t1.preleva(4.4);
            confronta(t1.toString(), "10.0 0.6 0.6");
            f1.preleva(5.5);
            confronta(f1.toString(), "10.0 4.0 2009");
            f1.preleva(3.5);
            confronta(f1.toString(), "10.0 0.5 2009");
    
            System.out.println("\n-- test disponibile");
            confronta(t4.disponibile()+"", "8.9");
            t4.preleva(1.0);
            confronta(t4.disponibile()+"", "7.9");
            t4.preleva(8.0);
            confronta(t4.disponibile()+"", "0.0");
            t4.preleva(1.0);
            confronta(t4.disponibile()+"", "0.0");
            confronta(f1.disponibile()+"", "0.5");
            f1.preleva(1.0);
            confronta(f1.disponibile()+"", "0.0");
        }
    
        private static void confronta(String a, String b) {
            System.out.println(a+" ["+b+"] "+(a.equals(b)?"OK":"ERR"));
        }
    }
    Scusate, ho questo main preimpostato ed io dovevo fare il resto del codice che ho fatto...solo che non sono sicuro sull'output...qualcuno potrebbe dirmi quale dovrebbe essere l'output corretto così posso verificare l'esattezza del mio resto di codice che ho fatto? perchè ho dubbi su qualche output

  2. #2
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    I primi 3 metodi che testi sono anche intuitivi: ipotizzando che facciano la cosa più sensata, dovrebbero stampare sempre "OK".
    Non posso sapere precisamente cosa dovrebbe restituire disponibile(), ma andando anche qui ad intuito direi che stampa "ERR" nei primi due casi e "OK" nei restanti quattro

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    123
    Ho il test toString..quindi sarebbero i primi due metodi che mi stampano il seguente :

    Capacità totale: 10.0 Quantità liquido: 9.5 Quantità minima carburante:0.6 [10.0 9.5 0.6] ERR
    Capacità totale: 10.0 Quantità liquido: 9.5 Anno scadenza:2009 [10.0 9.5 2009] ERR

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    123
    questo frammento di outpur forse lho risolto...penso che il tutto stava in una questione di spazi...ho pensato che forse dovevo scrivere solo i valori separati da un solo spazio senza scrivere prima del valore il nome del cosa si trattasse

  5. #5
    Utente di HTML.it L'avatar di desa
    Registrato dal
    Oct 2008
    Messaggi
    569
    Ovviamente sì: nel confronto con equals() le stringhe devono essere uguali byte a byte, sennò la VM non se lo sogna di certo

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 © 2025 vBulletin Solutions, Inc. All rights reserved.