Avere problemi con il codice di uscita con il mio programma. Aggiornato con nuova classe moggio

voti
0

(CODICE ORA CON AGGIORNATO) Avere gravi problemi cercando di ottenere l'output direttamente dal mio programma. Ho bisogno di avere una potenza specifica di questo programma ed è aspettano di essere questa uscita:

Rick...
This bushel basket has 0 apples in it.
This bushel basket has 33 apples in it.
This bushel basket has 29 apples in it.
This bushel basket has 0 apples in it.
Newt...
This bushel basket has 100 apples in it.
false
false
100
25
Michele...
true
false
false
false
false
true
Herman...
This bushel basket has 0 apples in it.
Jon...
This bushel basket has 125 apples in it.
Ron...
This bushel basket has 20 apples in it.
This bushel basket has 0 apples in it.
This bushel basket has 125 apples in it.
Gary...
This bushel basket has 0 apples in it.

TUTTAVIA ho ricevuto l'output:

Rick...
This bushel basket has 0 apples in it.
This bushel basket has 33 apples in it.
This bushel basket has 29 apples in it.
This bushel basket has 0 apples in it.
Newt...
This bushel basket has 100 apples in it.
false
false
100(THIS IS WHERE THE BAD OUTPUT STARTS)
true
Michele...
true
false
false
false
false
true
Herman...
This bushel basket has -5 apples in it.
Jon...
This bushel basket has 300 apples in it.
Ron...
This bushel basket has 20 apples in it.
This bushel basket has -30 apples in it.
This bushel basket has 960 apples in it.
Gary...
This bushel basket has 0 apples in it.

ecco il codice

    public class AppleOrchard
    {
        public static void main(String [] args)
        {
            System.out.println(Rick...);
            BushelBasket rick = new BushelBasket(0);
            rick.print();
            rick.pick(11);
            rick.pick(22);
            rick.print();
            rick.eat(4);
            rick.print();
            rick.spill();
            rick.print();

            System.out.println(Newt...);
            BushelBasket newt = new BushelBasket(100);
            newt.print();

            System.out.println( newt.isEmpty() );
            System.out.println( newt.isFull() );
            System.out.println( newt.getApples() );
            System.out.println( newt.roomLeftInBasket() );

            System.out.println(Michele...);
            BushelBasket michele = new BushelBasket(0);
            System.out.println( michele.isEmpty() );
            System.out.println( michele.isFull() );
            michele.pick(25);
            System.out.println( michele.isEmpty() );
            System.out.println( michele.isFull() );
            michele.pick(100);
            System.out.println( michele.isEmpty() );
            System.out.println( michele.isFull() );

            System.out.println(Herman...);
            BushelBasket herman = new BushelBasket(-5); // should default to 0
            herman.print();

            System.out.println(Jon...);
            BushelBasket jon = new BushelBasket(300); // should default to 125
            jon.print();

            System.out.println(Ron...);
            BushelBasket ron = new BushelBasket(20); // starts with 20
            ron.print();
            ron.eat(50); // can only eat down to zero apples
            ron.print(); // should see zero apples
            ron.eat(10); // back to 10
            ron.pick(1000); // basket can only hold 125 apples
            ron.print(); // should print 125

            System.out.println(Gary...);
            BushelBasket gary = new BushelBasket(0); // should default to 0
            gary.print();
        }
    }



    class BushelBasket
{
        int apples;

        BushelBasket(int apples) 
        {
    if (apples > 0 && apples < 125)
      this.apples = apples;
        }

        public void spill()
        {
            apples = 0;
        }

        public void pick(int x)
        {
            if (!isFull())
                apples = apples + x;
        }

        public void eat(int x)
        {
            if (!isEmpty())
                apples = apples - x;
        }

        public int getApples()
        {
            return apples;  
        }

        public void print()
        {
            int x = getApples();
            System.out.println(This bushel basket has  + x +  apples in it.);
        }

        public boolean isEmpty()
        {
            int emtpy = 0;

            if (apples <= emtpy)
            {   
                return true;
            }

            else 
            {
                return false;
            }
        }

        public boolean isFull()
        {
            int full = 125;

            if (apples >= full)
            {   
                return true;
            }

            else 
            {
                return false;
            }

        }



        public boolean roomLeftInBasket()
        {
            int full = 125;

            if (apples < full)
            {   
                return true;
            }

            else 
            {
                return false;
            }

        }

}
È pubblicato 19/11/2012 alle 06:51
dall'utente
In altre lingue...                            


2 risposte

voti
0

Tritone

il codice ha

System.out.println( newt.getApples() );                      // integer
System.out.println( newt.roomLeftInBasket() );               // boolean

questo non tornerà 100 25come ci si aspetta, si tornerà100 true

Sembra che tu abbia bisogno di cambiare il vostro roomLeftInBasket()metodo per restituire l'importo lasciato nel cestino, o modificare il codice in modo che sembra qualcosa di simile:

if (newt.roomLeftInBasket())
{
  System.out.println( newt.fullBasket() - newt.getApples());
}

ma dovrete creare il fullBasket()metodo di

Herman

Nel costruttore per Herman, si dà il suo cesto -5 mele. Se non si può avere un cestino negativo, sarà necessario cambiare il costruttore per verificare la presenza di questo.

Jon

Come per Herman, ma è necessario controllare se il valore del paniere creato è maggiore di un cesto pieno e cambiare di conseguenza.

Ron

Per Ron, è necessario verificare se il valore dato da mangiare () è maggiore del valore nel carrello e affrontare la situazione in cui Ron cerca di mangiare più mele di lui ha nel cestino.

Risposto il 19/11/2012 a 06:55
fonte dall'utente

voti
0

cambiare il costruttore

BushelBasket(int apples) 
{
   if (apples < 0 )
      this.apples = 0;
   else if(apples >125)
      this.apples = 125;
   else
      this.apples=apples;
}
Risposto il 19/11/2012 a 07:02
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more