Solved

one simple bug

Posted on 2002-03-14
4
250 Views
Last Modified: 2010-03-31
there is one simple bug, after selecting the more items 'y'(sales menu), it doesnt aks for the product code anymore.


class bakemenu{
public static void main (String args[])
throws java.io.IOException {

int precheese = 2;
int soldcheese = 0;
double sellcheese = 36.00;
int prechoc = 4;
int soldchoc = 0;
double sellchoc = 30.00;
int prestraw = 2;
int soldstraw = 0;
double sellstraw = 28.00;

int preegg = 20;
int soldegg = 0;
double sellegg = 1.20;
int prepine = 20;
int soldpine = 0;
double sellpine = 1.20;

int prenuts = 100;
int soldnuts = 0;
double sellnuts = 0.80;
int prechips = 100;
int soldchips = 0;
double sellchips = 0.70;

int precheese2 = 2;
int prechoc2 = 4;
int prestraw2 = 2;
int preegg2 = 20;
int prepine2 = 20;
int prenuts2 = 100;
int prechips2 = 100;
String code = new String();
int quantity = 0;
int numberOfBytesToRead = 10;
double total = 0.00;
double totalsum = 0.00;


 System.out.println ("\n");
 System.out.println ("-------------------------------------------------------------------------------");
 System.out.println ("                         Famouze Bakery, Madamme Memziers                      ");
 System.out.println ("\n");
 System.out.println ("Category         Favorite          Qty Prepared   Qty Sold  Selling Price($)); ");
 System.out.println ("-------------------------------------------------------------------------------");
 System.out.print   ("Cake             [c1]Cheese" + "              " + precheese + "            " +soldcheese + "           " +sellcheese);
 System.out.print   ("                           [c2]Chocolate" + "           " + prechoc   + "            " +soldchoc   + "           " +sellchoc);
 System.out.println ("                           [c3]Strawberry" + "          " + prestraw   + "            " +soldstraw   + "           " +sellstraw);

 System.out.println ("\n");
 System.out.print   ("Pastry           [p1]Egg" + "                 " + preegg + "           " +soldegg + "            " +sellegg);
 System.out.print   ("                           [p2]Pineapple" + "           " + prepine   + "           " +soldpine   + "            " +sellpine);

 System.out.println ("\n");
 System.out.print   ("Cookie           [k1]Pecan and Nuts" + "     " + prenuts + "           " +soldnuts + "            " +sellnuts);
 System.out.println   ("                           [k2]Chocolate chips" + "    " + prechips   + "           " +soldchips   + "            " +sellchips);
 
 System.out.println ("\n");
 System.out.println ("-------------------------------------------------------------------------------");
 System.out.println ("[S]ales             [D]aily Order             [C]ollection              E[X]it");
 System.out.println ("\n");
 //char moreitems = 'y' ;
 //char option = 'y' ;
 char option;

   System.out.print ("Option:" );
   option = (char)System.in.read();
   System.in.skip(2);
   //System.out.println("\n");

   switch(option){
   case 's':{totalsum = 0.00;
             char cont = 'y';
   do {
             System.out.println("Items sold:-");

             
                   System.out.println("enter product code:");
                   byte[] buffer = new byte[numberOfBytesToRead];
                   int bytesRead = System.in.read(buffer);
                   byte[] bufferRead = new byte[bytesRead - 2];
                   System.arraycopy(buffer, 0, bufferRead, 0, bytesRead - 2);

                   code = new String(bufferRead);

                   System.out.print("Enter quantity:");
                   bytesRead = System.in.read(buffer);
                   bufferRead = new byte[bytesRead - 2];
                   System.arraycopy(buffer, 0, bufferRead, 0, bytesRead - 2);

                   quantity = new Integer(new String(bufferRead)).intValue();

                 if ("c1".equals(code))
                   { if (quantity > precheese2)
                       { System.out.println("not enough stock");}
                   else{
                        precheese2 = precheese2 - quantity;
                        soldcheese = soldcheese + quantity;
                        total = sellcheese * quantity;
                        totalsum = totalsum + total;
                       }
                    }

             if ("c2".equals(code))
                   { if (quantity > prechoc2)
                       { System.out.println("not enough stock");}
                   else{
                        prechoc2 = prechoc2 - quantity;
                        soldchoc = soldchoc + quantity;
                        total = sellchoc * quantity;
                        totalsum = totalsum + total;
                       }
                     }
               if ("c3".equals(code))
                   { if (quantity > prestraw2)
                       { System.out.println("not enough stock");}
                   else{
                        prestraw2 = prestraw2 - quantity;
                        soldstraw = soldstraw + quantity;
                        total = sellstraw * quantity;
                        totalsum = totalsum + total;
                       }
                    }  
               
                  if ("p1".equals(code))
                   { if (quantity > preegg2)
                       { System.out.println("not enough stock");}
                   else{
                        preegg2 = preegg2 - quantity;
                        soldegg = soldegg + quantity;
                        total = sellegg * quantity;
                        totalsum = totalsum + total;
                       }
                    }

                      if ("p2".equals(code))
                   { if (quantity > prepine2)
                       { System.out.println("not enough stock");}
                   else{
                        prepine2 = prepine2 - quantity;
                        soldpine = soldpine + quantity;
                        total = sellpine * quantity;
                        totalsum = totalsum + total;
                       }
                    }

               if ("k1".equals(code))
                   { if (quantity > prenuts2)
                       { System.out.println("not enough stock");}
                   else{
                        prenuts2 = prenuts2 - quantity;
                        soldnuts = soldnuts + quantity;
                        total = sellnuts * quantity;
                        totalsum = totalsum + total;
                       }
                    }

                   if ("k2".equals(code))
                   { if (quantity > prechips2)
                       { System.out.println("not enough stock");}
                   else{
                        prechips2 = prechips2 - quantity;
                        soldchips = soldchips + quantity;
                        total = sellchips * quantity;
                        totalsum = totalsum + total;
                       }
                    }
        System.out.println("More Items(y/n) ?");
      cont = (char) System.in.read();
       }while (cont != 'n');
        System.out.println("Total amount due =" +totalsum);
   }
   }
   }
   }
 
0
Comment
Question by:chongkeyface
  • 2
4 Comments
 
LVL 9

Expert Comment

by:Venci75
ID: 6864323
use this:
....
while (System.in.available() > 0) System.in.read();
System.out.println("enter product code:");
....

and
while (System.in.available() > 0) System.in.read();
System.out.println("Enter quantity:");


to clear the buffer before reading with
System.in.read(buffer);
0
 

Expert Comment

by:fundoosathish
ID: 6876157
I'm sending you the whole code. I've made the necessary modifications to make it run. Just chk it over and tell me if ur satisfied. i changed the name to trial..pl do change to 1 which 'll suit u.

import java.io.*;
import java.io.InputStream;
import java.lang.*;
import java.util.*;

class trial
{
        public static void main (String args[]) throws java.io.IOException
        {
                int precheese = 2;
                int soldcheese = 0;
                double sellcheese = 36.00;
                int prechoc = 4;
                int soldchoc = 0;
                double sellchoc = 30.00;
                int prestraw = 2;
                int soldstraw = 0;
                double sellstraw = 28.00;
                int preegg = 20;
                int soldegg = 0;
                double sellegg = 1.20;
                int prepine = 20;
                int soldpine = 0;
                double sellpine = 1.20;
                int prenuts = 100;
                int soldnuts = 0;
                double sellnuts = 0.80;
                int prechips = 100;
                int soldchips = 0;
                double sellchips = 0.70;
                int precheese2 = 2;
                int prechoc2 = 4;
                int prestraw2 = 2;
                int preegg2 = 20;
                int prepine2 = 20;
                int prenuts2 = 100;
                int prechips2 = 100;
                String code = new String();
                int quantity = 0;
                int numberOfBytesToRead = 10;
                double total = 0.00;
                double totalsum = 0.00;
                System.out.println ("\n");
                /*System.out.println("-------------------------------------------------------------------------------");

                System.out.println (" Famouze Bakery, Madamme Memziers ");
                System.out.println ("\n");
                System.out.println ("Category         Favorite         Qty Prepared   Qty Sold  Selling Price($) ");
                System.out.println("-------------------------------------------------------------------------------");
                System.out.print   ("[c1]Cheese "+ "         " + precheese + "            " +soldcheese + "           " +sellcheese);

                System.out.print   ("[c2]Chocolate" + "           " + prechoc   + "      " +soldchoc   + "           " +sellchoc);

                System.out.println (" [c3]Strawberry" + "          " + prestraw   + "         " +soldstraw   + "           " +sellstraw);

                System.out.println ("\n");
                System.out.print   ("Pastry           [p1]Egg" + "       " + preegg + "           " +soldegg + "            " +sellegg);

                System.out.print   (" [p2]Pineapple" + "           " + prepine   + "     " +soldpine   + "            " +sellpine);

                System.out.println ("\n");
                System.out.print   ("Cookie           [k1]Pecan and Nuts" + "     " + prenuts + "           " +soldnuts + "            " +sellnuts);

                System.out.println   (" [k2]Chocolate chips" + "    " + prechips   + "      " +soldchips   + "            " +sellchips);

                System.out.println ("\n");
                System.out.println("-------------------------------------------------------------------------------");
                System.out.println ("[S]ales             [D]aily Order            [C]ollection              E[X]it");
                System.out.println ("\n");
                //char moreitems = 'y' ;
                //char option = 'y' ;*/
                char option;
                System.out.print ("Option:" );
                option = (char)System.in.read();
                System.in.skip(2);
                //System.out.println("\n");
                switch(option){
                case 's':
                {
                        totalsum = 0.00;
            String cont = "y";
            do
                        {
                System.out.println("Items sold:-");
                System.out.println("enter product code:");
                byte[] buffer = new byte[numberOfBytesToRead];
                int bytesRead = System.in.read(buffer);
                byte[] bufferRead = new byte[bytesRead - 2];
                System.arraycopy(buffer, 0, bufferRead, 0, bytesRead - 2);
                code = new String(bufferRead);
                //System.out.println("code="+code);
                System.out.print("Enter quantity:");
                bytesRead = System.in.read(buffer);
                bufferRead = new byte[bytesRead - 2];
                System.arraycopy(buffer, 0, bufferRead, 0, bytesRead - 2);
                quantity = new Integer(new String(bufferRead)).intValue();
                System.out.println("quantity="+quantity);
                if ("c1".equals(code))
                {
                        System.out.println("c1.equals(code)");
                        if (quantity > precheese2)
                    {
                            System.out.println("not enough stock");
                        }
                        else
                        {
                       precheese2 = precheese2 - quantity;
                       soldcheese = soldcheese + quantity;
                       total = sellcheese * quantity;
                       totalsum = totalsum + total;
                       System.out.println("precheese2="+precheese2);
                       System.out.println("soldcheese="+soldcheese);
                       System.out.println("total="+total);
                       System.out.println("totalsum="+totalsum);
                    }
               }
                   if ("c2".equals(code))
               {
                        System.out.println("c2.equals(code)");
                        if (quantity > prechoc2)
                    {
                        System.out.println("not enough stock");
                    }
                        else
                        {
                       prechoc2 = prechoc2 - quantity;
                       soldchoc = soldchoc + quantity;
                       total = sellchoc * quantity;
                       totalsum = totalsum + total;
                       
                       System.out.println("prechoc2="+prechoc2);
                       System.out.println("soldchoc="+soldchoc);
                       System.out.println("total="+total);
                       System.out.println("totalsum="+totalsum);
                    }
               }
               if ("c3".equals(code))
               {
                        System.out.println("c3.equals(code)");
                        if (quantity > prestraw2)
                    {
                        System.out.println("not enough stock");
                    }
                        else
                        {
                       prestraw2 = prestraw2 - quantity;
                       soldstraw = soldstraw + quantity;
                       total = sellstraw * quantity;
                       totalsum = totalsum + total;
                       System.out.println("prestraw2="+prestraw2);
                       System.out.println("soldstraw="+soldstraw);
                       System.out.println("total="+total);
                       System.out.println("totalsum="+totalsum);
                    }
               }  
               if ("p1".equals(code))
               {
                        System.out.println("p1.equals(code)");
                        if (quantity > preegg2)
                    {
                        System.out.println("not enough stock");
                    }
                        else
                        {
                       preegg2 = preegg2 - quantity;
                       soldegg = soldegg + quantity;
                       total = sellegg * quantity;
                       totalsum = totalsum + total;
                       System.out.println("preegg2="+preegg2);
                       System.out.println("soldegg="+soldegg);
                       System.out.println("total="+total);
                       System.out.println("totalsum="+totalsum);
                        }
               }
               if ("p2".equals(code))
               {
                        System.out.println("p2.equals(code)");
                        if (quantity > prepine2)
                    {
                         System.out.println("not enough stock");
                    }
                    else
                    {
                       prepine2 = prepine2 - quantity;
                       soldpine = soldpine + quantity;
                       total = sellpine * quantity;
                       totalsum = totalsum + total;
                       System.out.println("prepine2="+prepine2);
                       System.out.println("soldpine="+soldpine);
                       System.out.println("total="+total);
                       System.out.println("totalsum="+totalsum);
                    }
               }
               if ("k1".equals(code))
               {
                         System.out.println("k1.equals(code)");
                         if (quantity > prenuts2)
                     {
                        System.out.println("not enough stock");
                     }
                         else
                         {
                       prenuts2 = prenuts2 - quantity;
                       soldnuts = soldnuts + quantity;
                       total = sellnuts * quantity;
                       totalsum = totalsum + total;
                       System.out.println("prenuts2="+prenuts2);
                       System.out.println("soldnuts="+soldnuts);
                       System.out.println("total="+total);
                       System.out.println("totalsum="+totalsum);
                     }
                }
                if ("k2".equals(code))
                {
                        System.out.println("k2.equals(code)");
                        if (quantity > prechips2)
                    {
                        System.out.println("not enough stock");
                    }
                    else
                    {
                       prechips2 = prechips2 - quantity;
                       soldchips = soldchips + quantity;
                       total = sellchips * quantity;
                       totalsum = totalsum + total;
                       System.out.println("prechips2="+prechips2);
                       System.out.println("soldchips="+soldchips);
                       System.out.println("total="+total);
                       System.out.println("totalsum="+totalsum);
                    }
                }
                        System.out.println("More Items(y/n) ?");
                        DataInputStream user_input = new DataInputStream(System.in);
                        cont =  user_input.readLine();
                        }
                        while (cont.equals("y")||cont.equals("y"));
                        System.out.println("Total amount due =" +totalsum);
                        }
                }
        }
  }

0
 
LVL 9

Expert Comment

by:Venci75
ID: 7901769
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:
PAQ'd and pts refunded
Please leave any comments here within the next seven days.
 
PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!
 
Venci75
EE Cleanup Volunteer
0
 
LVL 5

Accepted Solution

by:
Netminder earned 0 total points
ID: 7962470
Per recommendation, points refunded and question closed.

Netminder
EE Admin
0

Featured Post

Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
Viewers learn about the scanner class in this video and are introduced to receiving user input for their programs. Additionally, objects, conditional statements, and loops are used to help reinforce the concepts. Introduce Scanner class: Importing…
The viewer will learn how to implement Singleton Design Pattern in Java.

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question