Solved

one simple bug

Posted on 2002-03-14
4
230 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
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
Per recommendation, points refunded and question closed.

Netminder
EE Admin
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Java Flight Recorder and Java Mission Control together create a complete tool chain to continuously collect low level and detailed runtime information enabling after-the-fact incident analysis. Java Flight Recorder is a profiling and event collectio…
Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…

728 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now