Can you help me with my program please?

hi all,
I have a problem with the sellMilk function at the Milk class I don't know how to write it right I've tried everything so I need you to help me.
this function should check the expiry date of the milk and sell the required amount if it is not expired. if it was expired just delete the milkbox.
I have cases like if the first box has 5 kg and not expired , second box has 10 kg and expired, third box has 8 kg and not expired .. and if the required amount to sell is 6 kg for example it should work like this: first box should become zero because 5 kg has been sold and remainder is 1 .. so it should check the expiry date of the second box and it is expired so delete it. and then check the third box's expiry date and it is not expired so 8-1 = 7 .. and by that way 6 kg has been sold.
my program it just delete the expired box if it was the first element.
my code doesn't work well like that! here is the full program so you can check the code to help me please ..
the problem is just with SellMilk() at the Milk Class
Thank you
import java.io.*;
import java.text.*;
import java.util.*;
public class Market
    public static void main(String args[ ])
    { System.out.print("Enter the Market name: " );
        String name1 = Stdin.readLine();
        Market_Store mymarketstore = new Market_Store(name1);
   System.out.println("Welcome To " +name1+" Market ");
   System.out.println("");
        System.out.println("1-Stock new Milk");
        System.out.println("2-Stock new Milk Box");
        System.out.println("3-Sell");
        System.out.println("4- Display");
        System.out.println("");
        System.out.print("Enter your choice: ");
        int choice = Stdin.readInteger();
        while (choice != 5)
            switch (choice)
            case 1:
             mymarketstore.stockNewMilk();
                break;
            case 2:
                mymarketstore.stockMilkBox();
                break;
                case 3:
         mymarketstore.sell();
            break;
            case 4:
           mymarketstore.display();
                        break;
                        case 5:
            default:
                System.out.println("wrong Number");
                System.out.println("Enter a number between 1 to 4 ");
                System.out.println("Enter 5 to Exit");
                break;
            System.out.println("");
          System.out.println("Welcome To " +name1+" Market ");
   System.out.println("");
        System.out.println("1-Stock new Milk");
        System.out.println("2-Stock new Milk Box");
        System.out.println("3-Sell");
        System.out.println("4-Display");
        System.out.println("");
         System.out.print("Enter your choice: ");
            choice = Stdin.readInteger();
class Market_Store
        private String name;
        private Vector mymilk;
        public Market_Store(String n)
                name=n;
                mymilk = new Vector();
        public void stockNewMilk()
                String N;//milk type
                System.out.print("Enter the type of the milk: ");
                N=Stdin.readLine();
                Milk  m1 = new Milk (N);
                mymilk.addElement(m1);
        public void stockMilkBox()
        System.out.println("Milk Available in stock : ");
        for (int i=0; i<mymilk.size(); i++){
        Milk m2 = (Milk)mymilk.elementAt(i);
        System.out.print(i+1+")");
        System.out.println(m2.getMilkType());  }
                System.out.print("Enter the number of the milk to stock new box: ");
        int     ii = Stdin.readInteger();
        ((Milk)(mymilk.elementAt(ii-1))).addNewBox();
        }//end stockMilkBox
        public void sell()
                //sell specific type of milk
               System.out.println("Milk Available in stock : ");
        for (int i=0; i<mymilk.size(); i++){
        Milk m2 = (Milk)mymilk.elementAt(i);
        System.out.print(i+1+")");
        System.out.println(m2.getMilkType());
                               System.out.print("Enter the number of the milk to sell:  ");
        int     ii = Stdin.readInteger();
System.out.print("Enter the amount required in Kg:  ");
double amount = Stdin.readDouble();
        ((Milk)(mymilk.elementAt(ii-1))).sellMilk(amount);
        public void display()
        {      System.out.println("Milk Available in stock : ");
        for (int i=0; i<mymilk.size(); i++){
        Milk m2 = (Milk)mymilk.elementAt(i);
        System.out.print(i+1+")");
        System.out.println(m2.getMilkType());
                System.out.print("Enter the number of the milk to display:  ");
        int     ii = Stdin.readInteger();
                ((Milk)(mymilk.elementAt(ii-1))).display();
class MilkBox
        private Date expiredate;
        private Date date;
        private double stock;
        public MilkBox(double stck, Date ed)
                 date = new Date();
                expiredate = ed;
        public double getStock()
         return stock;     }
        public Date getDate()
                 return date;
public void setStock(double st)
{ stock = st;}
public void setExDate(Date dd)
{expiredate = dd;}
        public Date getExDate()
                 return expiredate;
  public   double sellMilkBox(double amount)
        double excessAmount = 0;
        if (amount < stock)
            double newAmount = stock - amount;
            setStock(newAmount);
        else  
            excessAmount = amount - stock;
            setStock(0);
        return excessAmount;
public     void display()
                        System.out.println("The box of "+date+" has " +stock+" KG");
class Milk
        private String Mtype;//milk type
        private Vector mybox;//vector of batches
        public Milk (String n)
                Mtype =n;
        mybox = new Vector();
  public  void addNewBox()
double stook;
System.out.print("Enter the weight of the box: ");
stook = Stdin.readDouble();
     Date exdate;//expirey date
System.out.println("Enter the expirey date of the milk box:");
       int d; int m1; int y;
          System.out.println("Enter Year:" );
          y = Stdin.readInteger();
          System.out.println("Enter Month:" );
          m1 = Stdin.readInteger();
          System.out.println("Enter Day:" );
          d = Stdin.readInteger();
               Calendar r=new GregorianCalendar(y,m1,d);
                exdate= r.getTime();
                //send the attributes to Box constructor
               MilkBox newBox = new MilkBox(stook,exdate);
                newBox.setStock(stook);
                newBox.setExDate(exdate);
                mybox.addElement(newBox);
   public void display()
                System.out.println("Milk "+Mtype);
                        for (int i=0; i<mybox.size(); i++){
                MilkBox b= (MilkBox)mybox.elementAt(i);
                b.display();
public double sellMilk (double amount)
   for(int i=0;i<mybox.size();i++)
           MilkBox b = (MilkBox)mybox.elementAt(i);
            double stock = b.sellMilkBox(amount);
            double value = b.getStock();
            Date ExpireyDate = b.getExDate();
  if ( ExpireyDate.before(new Date()))
{  mybox.removeElementAt(i);
        System.out.println("it has expired date");
if (stock >1|| value  ==  0 && ExpireyDate.after(new Date()))
{       mybox.remove(b);  
amount = stock;
if ( ExpireyDate.before(new Date()))
{  mybox.removeElementAt(i);
        System.out.println("it has expired date");
  if(amount != 0)
  System.out.println("The extra amount is "+amount+ " KG");
return amount;}
public String getMilkType()
{ return Mtype;}
//set method
void setMilkType(String n)
{ Mtype = n;}
}//end class milk
//STDIN FILE
final class Stdin
   public static BufferedReader reader=new BufferedReader
    (new InputStreamReader(System.in));
   public static String readLine()
   while(true)
   try{
       return reader.readLine();
       catch(IOException ioe)
         reportError(ioe);
       catch(NumberFormatException nfe)
        reportError(nfe);
   public static int readInteger()
    while(true)
    try{
    return Integer.parseInt(reader.readLine());
    catch(IOException ioe)
    reportError(ioe);
    catch(NumberFormatException nfe)
    reportError(nfe);
   public static double readDouble()
    while(true)
    try{
    return Double.parseDouble(reader.readLine());
    catch(IOException ioe)
    reportError(ioe);
    catch(NumberFormatException nfe)
    reportError(nfe);
    public static void reportError (Exception e)
    System.err.println("Error input:");
    System.err.println("please re-enter data");
    }Edited by: mshadows on Dec 22, 2007 12:06 AM

ok here is the code that has the problem .. what's wrong with it?
public double sellMilk (double amount)
   for(int i=0;i<mybox.size();i++)
           MilkBox b = (MilkBox)mybox.elementAt(i);
            double stock = b.sellMilkBox(amount);
            double value = b.getStock();
            Date ExpireyDate = b.getExDate();
  if ( ExpireyDate.before(new Date()))
{  mybox.removeElementAt(i);
        System.out.println("it has expired date");
if (stock >1|| value  ==  0 && ExpireyDate.after(new Date()))
{       mybox.remove(b);  
amount = stock;
if ( ExpireyDate.before(new Date()))
{  mybox.removeElementAt(i);
        System.out.println("it has expired date");
  if(amount != 0)
  System.out.println("The extra amount is "+amount+ " KG");
return amount;}

Similar Messages

  • HT1725 Can you help me with a issue please?

    There's been a problem with my game that I purchased Call of duty Strike team when I starterd to play on the missions and survival it will always crash can I have a refund please!!!!!

    That hapens sometimes
    See:
    iOS: Troubleshooting applications purchased from the App Store
    Contact the developer/go to their support site if only one app.
    Restore from backup. See:
    iOS: How to back up              
    Restore to factory settings/new iPod
    Last, contact iTunes by
    How to report/refund an issue with your iTunes Store, App Store, Mac App Store, or iBooks Store purchase

  • HI! Can you help me with Lightroom? PLease!

    HI I have Lightroom 3 and windows 7 64 bit. I think I have spyware malware on my computer. I am thinking it is time to re install windows or upgrade to windows 8. However before I do this I need to know is there a way to save my lightrrom works in progress? Also If I have a student version of Lr3 can I upgrade to Lr4?
    Thank you
    CCRodrigue4

    Not exactly.
    Your image files (Raws, JPEGS, Movies) must be backed up independent of Lightroom. Lightroom's backup only backs up your edits, metadata, collection memberships, ratings etc. You still need to have a strategy for the actual image files which were imported into Lightroom.
    The Previews are located in the same folder where your active catalog(s) live. It has the same name as your catalog and
    If you get these two and your images you will have it - with the exception of any downloaded presets.

  • Can you help me with mouse pressed method please?

    hi
    can you help me with my problem please, player label doesn't show up in the applet and the draw string method it doesn't draw any strings like X or O for the game I don't know what is the problem maybe it is with MousePressed method which is in Board class. I tried to write the code of the location many times I'm not sure if the problem comes from there.
    there is no error in my code, but it doesn't work.
    this is class Board which has the mouseListener
    class Board extends JPanel  implements MouseListener, MouseMotionListener
        private JLabel playerlabel; 
         private boolean play;
         private boolean start;
        private int turn; 
        private Square squares[][];
      private Player myplayer[][];
         public Board()
              setBackground( Color.WHITE );
              playerlabel = new JLabel( "X player first" );
              //playerlabel.setLayout(null);
         //     playerlabel.setLocation(500,500);
              add( playerlabel );
              play = true;
              turn = 1;
             squares = new Square[3][3];
             myplayer = new Player[3][3];
             int x = 40;
              int y = 40;
              for (int i=0; i<3; i++){
                   x = 40;
                   for (int j=0; j<3; j++){
                        Square s = new Square( x,y );
                        squares[i][j] = s;
                        x +=50;
                   y +=50;
                this.addMouseListener(this);
            this.addMouseMotionListener(this);
          public void mouseClicked( MouseEvent event ){}
          public void mouseMoved( MouseEvent event ){}
          public void mouseEntered( MouseEvent event ){}
          public void mouseExited( MouseEvent event ){}
          public void mousePressed( MouseEvent event )
          {int xPos = event.getX();
                  int yPos = event.getY();
                    if(play && turn ==1){
                    for (int i=0; i<3; i++){
                        for (int j=0; j<3; j++){
                             int x = squares[i][j].getX();
                             int y = squares[i][j].getY();
                             if(xPos> x && xPos<x+40&& yPos> y && yPos<y+40){
                                  if( squares[i][j].getOccupied() ==0 ){
                                       String ptext;
                                       ptext = "X";
                                       Player p = new Player(x, y,ptext);
                                       myplayer[i][j] = p;
                                       squares[i][j].setOccupied(1);
                                       playerlabel.setText( "O Player Turn" );
                                       turn = 2;
                                       repaint();
                                       Win();
                                  else{
                                       turn = 2;
                                       playerlabel.setText( "O Player Turn" );
                                       repaint();
              if ( play && turn ==2 )
    for (int i=0; i<3; i++){
                        for (int j=0; j<3; j++){
                             int x = squares[i][j].getX();
                             int y = squares[i][j].getY();
                             if(xPos> x && xPos<x+40&& yPos> y && yPos<y+40){
                                  if( squares[i][j].getOccupied() ==0 ){
                                       String ptext;
                                       ptext = "O";
                                       Player p = new Player(x, y,ptext);
                                       myplayer[i][j] = p;
                                       squares[i][j].setOccupied(2);
                                       playerlabel.setText( "X Player Turn" );
                                       turn = 1;
                                       repaint();
                                       Win();
                                  else{
                                       turn = 1;
                                       playerlabel.setText( "X Player Turn" );
                                       repaint();
          public void mouseReleased( MouseEvent event )
          public void mouseDragged( MouseEvent event )
         public void Win(){
              if(squares[0][0].getOccupied() == squares[0][1].getOccupied() &&squares[0][1].getOccupied()==squares[0][2].getOccupied() &&squares[0][2].getOccupied() == 1)
              {playerlabel.setText("Player 1 X WON THE GAME!");
              play =false;          }
              else if (squares[1][0].getOccupied() == squares[1][1].getOccupied() &&squares[1][1].getOccupied()==squares[1][2].getOccupied() &&squares[1][2].getOccupied() == 1)
              {playerlabel.setText("Player 1 X WON THE GAME!");
              play =false;          }
              else      if(squares[2][0].getOccupied() == squares[2][1].getOccupied() &&squares[2][1].getOccupied()==squares[2][2].getOccupied() &&squares[2][2].getOccupied() == 1)
              {playerlabel.setText("Player 1 X WON THE GAME!");
              play =false;          }
                   if(squares[0][0].getOccupied() == squares[0][1].getOccupied() &&squares[0][1].getOccupied()==squares[0][2].getOccupied() &&squares[0][2].getOccupied() == 2)
              {playerlabel.setText("Player 2 O WON THE GAME!");
              play =false;          }
              else if (squares[1][0].getOccupied() == squares[1][1].getOccupied() &&squares[1][1].getOccupied()==squares[1][2].getOccupied() &&squares[1][2].getOccupied() == 2)
              {playerlabel.setText("Player 2 O WON THE GAME!");
              play =false;          }
              else      if(squares[2][0].getOccupied() == squares[2][1].getOccupied() &&squares[2][1].getOccupied()==squares[2][2].getOccupied() &&squares[2][2].getOccupied() == 2)
              {playerlabel.setText("Player 2 O WON THE GAME!");
              play =false;          }
              //Vertically win
               if (squares[0][0].getOccupied() == squares[1][0].getOccupied() &&squares[1][0].getOccupied()==squares[2][0].getOccupied() &&squares[2][0].getOccupied() == 1)
              {playerlabel.setText("Player 1 X WON THE GAME!");
              play =false;          }
              else if (squares[0][1].getOccupied() == squares[1][1].getOccupied() &&squares[1][1].getOccupied()==squares[2][1].getOccupied() &&squares[2][1].getOccupied() == 1)
              {playerlabel.setText("Player 1 X WON THE GAME!");
              play =false;          }
              else      if(squares[0][2].getOccupied() == squares[1][2].getOccupied() &&squares[1][2].getOccupied()==squares[2][2].getOccupied() &&squares[2][2].getOccupied() == 1)
              {playerlabel.setText("Player 1 X WON THE GAME!");
              play =false;          }
               if (squares[0][0].getOccupied() == squares[1][0].getOccupied() &&squares[1][0].getOccupied()==squares[2][0].getOccupied() &&squares[2][0].getOccupied() == 2)
              {playerlabel.setText("Player 2 O WON THE GAME!");
              play =false;          }
              else if (squares[0][1].getOccupied() == squares[1][1].getOccupied() &&squares[1][1].getOccupied()==squares[2][1].getOccupied() &&squares[2][1].getOccupied() == 2)
              {playerlabel.setText("Player 2 O WON THE GAME!");
              play =false;          }
              else      if(squares[0][2].getOccupied() == squares[1][2].getOccupied() &&squares[1][2].getOccupied()==squares[2][2].getOccupied() &&squares[2][2].getOccupied() == 2)
              {playerlabel.setText("Player 2 O WON THE GAME!");
              play =false;          }
              //Diagonal win
                    if (squares[0][0].getOccupied() == squares[1][1].getOccupied() &&squares[1][1].getOccupied()==squares[2][2].getOccupied() &&squares[2][2].getOccupied() == 1)
              {playerlabel.setText("Player 1 X WON THE GAME!");
              play =false;          }
              else if (squares[0][2].getOccupied() == squares[1][1].getOccupied() &&squares[1][1].getOccupied()==squares[2][0].getOccupied() &&squares[2][0].getOccupied() == 1)
              {playerlabel.setText("Player 1 X WON THE GAME!");
              play =false;          }
               if (squares[0][0].getOccupied() == squares[1][1].getOccupied() &&squares[1][1].getOccupied()==squares[2][2].getOccupied() &&squares[2][2].getOccupied() == 2)
              {playerlabel.setText("Player 2 O WON THE GAME!");
              play =false;          }
              else if (squares[0][2].getOccupied() == squares[1][1].getOccupied() &&squares[1][1].getOccupied()==squares[2][0].getOccupied() &&squares[2][0].getOccupied() == 2)
              {playerlabel.setText("Player 2 O WON THE GAME!");
              play =false;          }
         }//end win
    public void setTurn(int t)
              turn = t;
              playerlabel.setText( "X Player Plays First" );
         public void paintComponent( Graphics g )
               super.paintComponent( g );
               this.setBackground( Color.WHITE );
              for (int i=0; i<3; i++){
                   for (int j=0; j<3; j++){
                        g.setColor( Color.BLACK );
                         g.drawRect( squares[i][j].getX(), squares[i][j].getY(), 50, 50 );     
               for (int i=0; i<3; i++){
                   for (int j=0; j<3; j++){
                         myplayer[i][j].draw(g);     
            //End of paintComponent   
    }and this is the whole code of my program.
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.util.*;
    class Player{
         private int xCoordinate;
         private int yCoordinate;
        private String playerText;
      public   Player(int x, int y, String t)
            playerText = t;
            xCoordinate = x;
            yCoordinate = y;
        public void draw(Graphics g)
               g.drawString(playerText,  xCoordinate, yCoordinate);
         public void SetText(String t)
         { playerText = t;
    }//end player
    class Square
         private int x;
         private int y;
         private int occupied;
         public Square(int x1, int y1)
              x = x1;
              y= y1;
              occupied = 0;
         public void setX(int x1)
              x = x1;
         public int getX()
              return x;
         public void setY(int y1)
              y = y1;
         public int getY()
              return y;
         public void setOccupied(int o)
              occupied = o;
         public int getOccupied()
              return occupied;
    public class TicTac extends JApplet implements ActionListener
    { private JPanel panel;
         private JButton newgame;
         private Board B;
         public void init()
              B = new Board();
              add( B, BorderLayout.CENTER );
              panel = new JPanel();
               newgame = new JButton( "New Game" );
               panel.add( newgame);
               add( panel, BorderLayout.SOUTH );
               newgame.addActionListener(this);
              public void actionPerformed( ActionEvent ev)
               {     Object source = ev.getSource();
         if (source == newgame)
                    {remove(B);
                   repaint();
              B = new Board();
                   add( B, BorderLayout.CENTER );
         B.setTurn(1);
                   repaint();
                   validate();
            }//end class TicTac
    class Board extends JPanel  implements MouseListener, MouseMotionListener
        private JLabel playerlabel; 
         private boolean play;
         private boolean start;
        private int turn; 
        private Square squares[][];
      private Player myplayer[][];
         public Board()
              setBackground( Color.WHITE );
              playerlabel = new JLabel( "X player first" );
              //playerlabel.setLayout(null);
         //     playerlabel.setLocation(500,500);
              add( playerlabel );
              play = true;
              turn = 1;
             squares = new Square[3][3];
             myplayer = new Player[3][3];
             int x = 40;
              int y = 40;
              for (int i=0; i<3; i++){
                   x = 40;
                   for (int j=0; j<3; j++){
                        Square s = new Square( x,y );
                        squares[i][j] = s;
                        x +=50;
                   y +=50;
                this.addMouseListener(this);
            this.addMouseMotionListener(this);
          public void mouseClicked( MouseEvent event ){}
          public void mouseMoved( MouseEvent event ){}
          public void mouseEntered( MouseEvent event ){}
          public void mouseExited( MouseEvent event ){}
          public void mousePressed( MouseEvent event )
          {int xPos = event.getX();
                  int yPos = event.getY();
                    if(play && turn ==1){
                    for (int i=0; i<3; i++){
                        for (int j=0; j<3; j++){
                             int x = squares[i][j].getX();
                             int y = squares[i][j].getY();
                             if(xPos> x && xPos<x+40&& yPos> y && yPos<y+40){
                                  if( squares[i][j].getOccupied() ==0 ){
                                       String ptext;
                                       ptext = "X";
                                       Player p = new Player(x, y,ptext);
                                       myplayer[i][j] = p;
                                       squares[i][j].setOccupied(1);
                                       playerlabel.setText( "O Player Turn" );
                                       turn = 2;
                                       repaint();
                                       Win();
                                  else{
                                       turn = 2;
                                       playerlabel.setText( "O Player Turn" );
                                       repaint();
              if ( play && turn ==2 )
    for (int i=0; i<3; i++){
                        for (int j=0; j<3; j++){
                             int x = squares[i][j].getX();
                             int y = squares[i][j].getY();
                             if(xPos> x && xPos<x+40&& yPos> y && yPos<y+40){
                                  if( squares[i][j].getOccupied() ==0 ){
                                       String ptext;
                                       ptext = "O";
                                       Player p = new Player(x, y,ptext);
                                       myplayer[i][j] = p;
                                       squares[i][j].setOccupied(2);
                                       playerlabel.setText( "X Player Turn" );
                                       turn = 1;
                                       repaint();
                                       Win();
                                  else{
                                       turn = 1;
                                       playerlabel.setText( "X Player Turn" );
                                       repaint();
          public void mouseReleased( MouseEvent event )
          public void mouseDragged( MouseEvent event )
         public void Win(){
              if(squares[0][0].getOccupied() == squares[0][1].getOccupied() &&squares[0][1].getOccupied()==squares[0][2].getOccupied() &&squares[0][2].getOccupied() == 1)
              {playerlabel.setText("Player 1 X WON THE GAME!");
              play =false;          }
              else if (squares[1][0].getOccupied() == squares[1][1].getOccupied() &&squares[1][1].getOccupied()==squares[1][2].getOccupied() &&squares[1][2].getOccupied() == 1)
              {playerlabel.setText("Player 1 X WON THE GAME!");
              play =false;          }
              else      if(squares[2][0].getOccupied() == squares[2][1].getOccupied() &&squares[2][1].getOccupied()==squares[2][2].getOccupied() &&squares[2][2].getOccupied() == 1)
              {playerlabel.setText("Player 1 X WON THE GAME!");
              play =false;          }
                   if(squares[0][0].getOccupied() == squares[0][1].getOccupied() &&squares[0][1].getOccupied()==squares[0][2].getOccupied() &&squares[0][2].getOccupied() == 2)
              {playerlabel.setText("Player 2 O WON THE GAME!");
              play =false;          }
              else if (squares[1][0].getOccupied() == squares[1][1].getOccupied() &&squares[1][1].getOccupied()==squares[1][2].getOccupied() &&squares[1][2].getOccupied() == 2)
              {playerlabel.setText("Player 2 O WON THE GAME!");
              play =false;          }
              else      if(squares[2][0].getOccupied() == squares[2][1].getOccupied() &&squares[2][1].getOccupied()==squares[2][2].getOccupied() &&squares[2][2].getOccupied() == 2)
              {playerlabel.setText("Player 2 O WON THE GAME!");
              play =false;          }
              //Vertically win
               if (squares[0][0].getOccupied() == squares[1][0].getOccupied() &&squares[1][0].getOccupied()==squares[2][0].getOccupied() &&squares[2][0].getOccupied() == 1)
              {playerlabel.setText("Player 1 X WON THE GAME!");
              play =false;          }
              else if (squares[0][1].getOccupied() == squares[1][1].getOccupied() &&squares[1][1].getOccupied()==squares[2][1].getOccupied() &&squares[2][1].getOccupied() == 1)
              {playerlabel.setText("Player 1 X WON THE GAME!");
              play =false;          }
              else      if(squares[0][2].getOccupied() == squares[1][2].getOccupied() &&squares[1][2].getOccupied()==squares[2][2].getOccupied() &&squares[2][2].getOccupied() == 1)
              {playerlabel.setText("Player 1 X WON THE GAME!");
              play =false;          }
               if (squares[0][0].getOccupied() == squares[1][0].getOccupied() &&squares[1][0].getOccupied()==squares[2][0].getOccupied() &&squares[2][0].getOccupied() == 2)
              {playerlabel.setText("Player 2 O WON THE GAME!");
              play =false;          }
              else if (squares[0][1].getOccupied() == squares[1][1].getOccupied() &&squares[1][1].getOccupied()==squares[2][1].getOccupied() &&squares[2][1].getOccupied() == 2)
              {playerlabel.setText("Player 2 O WON THE GAME!");
              play =false;          }
              else      if(squares[0][2].getOccupied() == squares[1][2].getOccupied() &&squares[1][2].getOccupied()==squares[2][2].getOccupied() &&squares[2][2].getOccupied() == 2)
              {playerlabel.setText("Player 2 O WON THE GAME!");
              play =false;          }
              //Diagonal win
                    if (squares[0][0].getOccupied() == squares[1][1].getOccupied() &&squares[1][1].getOccupied()==squares[2][2].getOccupied() &&squares[2][2].getOccupied() == 1)
              {playerlabel.setText("Player 1 X WON THE GAME!");
              play =false;          }
              else if (squares[0][2].getOccupied() == squares[1][1].getOccupied() &&squares[1][1].getOccupied()==squares[2][0].getOccupied() &&squares[2][0].getOccupied() == 1)
              {playerlabel.setText("Player 1 X WON THE GAME!");
              play =false;          }
               if (squares[0][0].getOccupied() == squares[1][1].getOccupied() &&squares[1][1].getOccupied()==squares[2][2].getOccupied() &&squares[2][2].getOccupied() == 2)
              {playerlabel.setText("Player 2 O WON THE GAME!");
              play =false;          }
              else if (squares[0][2].getOccupied() == squares[1][1].getOccupied() &&squares[1][1].getOccupied()==squares[2][0].getOccupied() &&squares[2][0].getOccupied() == 2)
              {playerlabel.setText("Player 2 O WON THE GAME!");
              play =false;          }
         }//end win
    public void setTurn(int t)
              turn = t;
              playerlabel.setText( "X Player Plays First" );
         public void paintComponent( Graphics g )
               super.paintComponent( g );
               this.setBackground( Color.WHITE );
              for (int i=0; i<3; i++){
                   for (int j=0; j<3; j++){
                        g.setColor( Color.BLACK );
                         g.drawRect( squares[i][j].getX(), squares[i][j].getY(), 50, 50 );     
               for (int i=0; i<3; i++){
                   for (int j=0; j<3; j++){
                         myplayer[i][j].draw(g);     
            //End of paintComponent   
            Edited by: mshadows on May 18, 2008 7:53 AM

    I was playing with this a little bit and came up with this game model, something that I'm sure can be improved upon greatly:
    TttXO.java
    an enum to encapsulate X vs O. I could use a boolean here since it has 2 states, but this seems more intuitive to me
    package dy08.m05.ttt;
    * tic tac toe encapsulation of X vs O
    * @author Pete
    public enum TttXO
        X, O
    }TttCell.java
    encapsulates an individual cell in the tictactoe grid.
    package dy08.m05.ttt;
    * Tic Tac Toe Game cell
    * can be occupied or not
    * can hold TttXO X or O or null 
    * @author Pete
    public class TttCell
        private boolean occupied = false;
        private TttXO xo = null;
        public TttCell()
         * sets a Square for either x or o
         * @param TttXO
         * @return true if successful, false if already occupied
        public boolean setXO(TttXO xo)
            if (occupied)
                return false;
            else
                occupied = true;
                this.xo = xo;
                return true;
        public void reset()
            occupied = false;
            xo = null;
        public boolean isOccupied()
            return occupied;
        public TttXO getXO()
            return xo;
        // used to test and debug the class
        public String toString()
            if (occupied)
                return xo.toString();
            else
                return "-";
    package dy08.m05.ttt;
    * Tic Tac Toe game model
    * @author Pete
    public class TttGameModel
        private TttCell[][] cellGrid = new TttCell[3][3];
        private boolean xTurn = true;
        private boolean win = false;
        public TttGameModel()
            for (int i = 0; i < cellGrid.length; i++)
                for (int j = 0; j < cellGrid.length; j++)
    cellGrid[i][j] = new TttCell();
    public void reset()
    xTurn = true;
    win = false;
    for (int i = 0; i < cellGrid.length; i++)
    for (int j = 0; j < cellGrid[i].length; j++)
    cellGrid[i][j].reset();
    public boolean isXTurn()
    return xTurn;
    public boolean isWin()
    return win;
    * @param row
    * @param col
    * @return true if valid move, false if game already over or cell occupied
    public boolean takeTurn(int col, int row)
    TttXO currentXO = TttXO.O;
    TttCell cell = cellGrid[row][col];
    if (win)
    return false;
    if (cell.isOccupied())
    return false;
    if (xTurn)
    currentXO = TttXO.X;
    cell.setXO(currentXO);
    win = checkWin(col, row, currentXO);
    xTurn = !xTurn; // toggle xturn
    return true;
    public boolean checkWin(int col, int row, TttXO xo)
    boolean win = false;
    // first rows and columns
    boolean temp = true;
    for (int i = 0; i < 3; i++)
    temp &= cellGrid[row][i].getXO() == xo;
    win |= temp;
    temp = true;
    for (int i = 0; i < 3; i++)
    temp &= cellGrid[i][col].getXO() == xo;
    win |= temp;
    if (row == col) // if slash diagonal
    temp = true;
    for (int i = 0; i < 3; i++)
    temp &= cellGrid[i][i].getXO() == xo;
    win |= temp;
    if (row + col == 2) // if backslash diagonal
    temp = true;
    for (int i = 0; i < 3; i++)
    temp &= cellGrid[i][2 - i].getXO() == xo;
    win |= temp;
    return win;
    // used to test and debug the class
    public String toString()
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < cellGrid.length; i++)
    for (int j = 0; j < cellGrid[i].length; j++)
    sb.append(cellGrid[i][j] + " ");
    sb.append("\n");
    if (win)
    sb.append("win! Game over");
    else
    sb.append("No winner yet");
    return sb.toString();
    // test the class
    public static void main(String[] args)
    TttGameModel model = new TttGameModel();
    checkMove(model, 0, 0);
    checkMove(model, 1, 0);
    checkMove(model, 1, 1);
    checkMove(model, 2, 0);
    checkMove(model, 1, 0); // bad move
    checkMove(model, 2, 2);
    // to test the class
    private static void checkMove(TttGameModel model, int i, int j)
    System.out.println("OK move: " + model.takeTurn(i, j));
    System.out.println(model + "\n");

  • Hello, we have both Creative Cloud and Creative Cloud for teams. Can you help me with the difference and if i need to have both?

    Hello, we have both Creative Cloud membership and Creative Cloud for team. Can you help me with the difference and if i need to have both? We have 9 employees that are using it. Just not sure if i'm paying for something i don't need.
    Thank you

    Please refer to Creative Cloud Help | Creative Cloud / Common Questions
    CC is for retail use with 20 GB of storage space, CCT is where number of seats are purchased & assigned by one program admin where each seat gets 100GB of storage space.
    You can not have both the CC & team in one account as it will only provide you added storage space of 120 GB but you can activate the CC any of them or either of them twice as CC is based on Adobe ID.
    Regards
    Rajshree

  • HT2801 I understand there is a way to use my Super Drive with my PC.  However, it requires a System OS Disk.  Which I never received.  Can you help me with this?

    I understand there is a way to use my Super Drive with my PC.  However, it requires a System OS Disk.  Which I never received.  Can you help me with this?

    Rick6812 wrote:
      I'm using Windows 8.1. 
    I do not know what you mean by a Windows 8.1.  Please clarify.
    The Apple superdrive is designed to be used with the following Macs.
    It will not work with any other Mac unless you perform this modification;
    http://www.tuaw.com/2012/04/02/use-the-macbook-air-superdrive-with-any-almost-ma c/
    Are you trying to get it to work with a PC? 
    Ciao.

  • TS3694 hello i am trying to update my phone . i am connecting it to itunes but it is giving error 3194 . can you help me resolve this problem please.

    hello i am trying to update my phone . i am connecting it to itunes but it is giving error 3194 . can you help me resolve this problem please.

    Hi ali hakim,
    Welcome to the Support Communities!
    The article below may be able to help you with this issue.
    Click on the link to see more details and screenshots.
    iOS: Restore error 3194 or 'This device isn't eligible for the requested build'
    http://support.apple.com/kb/TS4451
    This occurs when iTunes is unable to communicate with the update-and-restore server (gs.apple.com). This is most likely because it is being blocked, redirected, or interrupted by security software, hosts-file entries, or other third-party software.
    Cheers,
    - Judy

  • HT1420 I am unable to authorise my iPod Classic on my new harddrive.  All previous hardrives over the years have crashed or been repaired and I never deuathorised the iPod at the time. Can you help me to authorise it please?

    I am unable to authorise my iPod Classic on my new hard drive.  All previous hard drives have crashed or been repaired and I never deauthorised the iPod at the time. Can you help me to authorise it please?

    Hello zoefromoranmore,
    Thanks for using Apple Support Communities.
    In order to deauthorize devices which you no longer have, you will have to use the deauthorize all command, found in the article below.
    Deauthorize all computers
    If need to deauthorize your computer but you can't access it, you need to deauthorize all computers. After you authorize 2 computers, you'll have the option to deauthorize all computers for your Apple ID. You can deauthorize all computers once per year.
    Why should I deauthorize all of my computers?
    To make sure that only you can play your content, or to free up authorizations used by your old computers. Here's when you should deauthorize all computers:
    Your computer doesn't work anymore
    You sold or gave away a computer and didn't deauthorize it first
    What happens when I deauthorize all computers? Will I lose my content?
    Just like deauthorizing a single computer, you won't delete anything if you choose to deauthorize all computers. You just won't be able to play content that you bought from iTunes on those computers until you reauthorize them. You need to have the computer to reauthorize it.
    How do I deauthorize all of my computers?
    Using one of your authorized computers, follow these steps:
    Open your account in iTunes (you may need to sign in with your Apple ID). Or open iTunes, click Store > Sign In, and enter your Apple ID and password.
    Click Deauthorize All.
    The Deauthorize All button appears only if you have more than 2 authorized computers. If you don't see the Deauthorize All button, that means you only have one authorized computer.
    I deauthorized all of my computers. What should I do now?
    Reauthorize each computer that you want to use with iTunes. Go to Store > Authorize this computer and enter your Apple ID and password.
    Deauthorize your computer using iTunes
    http://support.apple.com/kb/HT6283
    Take care,
    Alex H.

  • HT204146 Good morning.  I just purchased Imatch but cannot download my music from an iphone 5 to IMatch in Icloud.  Can you help me with this?

    Good morning.  I just purchased Imatch but cannot download my music from an iphone 5 to IMatch in Icloud.  Can you help me with this?

    Hi
    Has iTunes completed its scan of your iTunes library on your computer Subscribing to iTunes from an iOS device.
    Jim

  • I am using Dreamweaver CS4  and can no longer connect to Device Central - Can you help me with this?

    I am using Dreamweaver CS4  and can no longer connect to Device Central - Can you help me with this?

    Device Central was discontinued April 23, 2012.
    http://www.adobe.com/products/devicecentral.html
    And replaced with Adobe Edge Inspect CC (for Cloud subscribers)
    http://html.adobe.com/edge/inspect/
    Nancy O.

  • Hi, recently i bought macbook pro with retina display and installed windows 8 professional original software also. but in windows 8 track pad is not working properly. can you help me with providing drivers for trackpad to work on windows 8 professional .

    hi, recently i bought macbook pro with retina display and installed windows 8 professional original software also. but in windows 8 track pad/ TOUCHPAD is not working properly. can you help me with providing drivers for trackpad to work on windows 8 professional .

    Did you download and install the Windows Support software? If you did, did you use the Boot Camp Control icon to set up the trackpad how you want it?
    http://www.apple.com/support/bootcamp/
    https://discussions.apple.com/community/windows_software/boot_camp

  • I run Windows 7 Home Premium on an HP Pavilion dv6. I cannot install iTunes or QuickTime. Can you help me with this?

    I run Windows 7 Home Premium on an HP Pavilion dv6. I cannot install iTunes or QuickTime. Can you help me with this?

    Hello raadabdaun,
    Thanks for the question, and welcome to Apple Support Communities.
    I understand you are having issues installing iTunes for Windows. The following article provides the most relevant information and troubleshooting steps:
    Trouble installing iTunes or QuickTime for Windows
    http://support.apple.com/kb/HT1926
    Thanks,
    Matt M.

  • What will i do..there is a message show, "your device in not more eligible to create a free i cloud acount"..and when i try a new one it ask an account number, but i dont have...can you help me with this issue..

    What will i do..there is a message show, "your device in not more eligible to create a free i cloud acount"..and when i try a new one it ask an account number, but i dont have...can you help me with this issue..?
    I try also my old icloud user but its not recognizing the accoun...

    What will i do..there is a message show, "your device in not more eligible to create a free i cloud acount"..and when i try a new one it ask an account number, but i dont have...can you help me with this issue..?
    I try also my old icloud user but its not recognizing the accoun...

  • I recently updated to ios 6.1.1 and since then, the photos i am uploading via ios does not show on my timeline or on the newsfeed, but the pictures show in the album. can you help me with it? thanks.

    i recently updated to ios 6.1.1 and since then, the photos i am uploading via ios does not show on my timeline or on the newsfeed, but the pictures show in the album. can you help me with it? thanks.

    fingers crossed, it appears they are working the bugs out of this update....i was able to post a pic to my newsfeeds/time line this morning....first the picture went into the ios album but within a minute, it appeared on my timeline! im glad ...

  • How to Setup Forward Error Handling in PI Scenarios. Can you help me with the same with screen shots if possible?

    Dear all
    How to Setup Forward Error Handling in PI Scenarios. Can you help me with the same with screen shots if possible?
    Thanks
    Regards
    karan

    Hello
    These are the following errors
    1. Trace level="1" type="T">no interface action for sender or receiver found</Trace>
    2. <Trace level="1" type="System_Error">Application-Error exception return from pipeline processing!
    3.
    <Trace level="1" type="T">Application Error at Receiver... => ROLLBACK WORK</Trace>  
    <Trace level="1" type="T">System Error at Receiver... => ROLLBACK WORK</Trace>  
    <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" />  
    <Trace level="1" type="System_Error">Application-Error exception return from pipeline processing!</
    Trace level="3" type="T">No persisting of message after plsrv call, because of config</Trace>Trace level="3" type="T">Error of the prevous version:</TraceTrace level="3" type="T">Error ID APPLICATION_ERROR</Trace>
    tThere are repeating errors also.
    TThanks
    Regards
    kkaran

Maybe you are looking for