// Using if statements, relational
// operators, and equality operators 
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class Hist extends Applet
             implements ActionListener {
   
	Label prompt1;     
	TextField input1;  
	int MyArray[] = new int[5];
	int number1;
	int XPosition;  
	int YPosition = 70;
	int ArrayCounter = 0;
	int TotalEntered = 0;
	int Maximum;
	boolean BadInput = false;
  
	
   
   public void init()
   {
      prompt1 = new Label( "Enter an integer and press Enter" );
      add( prompt1 );  

      input1 = new TextField( 10 );
      input1.addActionListener( this );
      add( input1 );
	  
   }

   
   public void paint( Graphics g )
   {
		  YPosition = 70;
		  
		  if (BadInput == true) 
		  {
			if (number1 > 30) 
				g.drawString("Your input of " + number1 + " is greater than 30; Please try again", 80, 40);
			else
				g.drawString("Your input of " + number1 + " is less than 1; Please try again", 80, 40);
			BadInput = false;
		  }
		 
		  g.drawString("Element", 25, YPosition);
		  g.drawString("Value",100, YPosition);
		  g.drawString("Histogram", 175, YPosition);
		  for (int i=0; i < MyArray.length; i++) {
			  YPosition += 15;
			  g.drawString( String.valueOf(i),25,YPosition);
			  g.drawString( String.valueOf(MyArray[i]), 100, YPosition);
		      XPosition = 175;
			  for (int j=1; j <= MyArray[i]; j++)
				{
					g.drawString( "*", XPosition, YPosition);
					XPosition += 7;
				}
		  }
		 
		 
   }

   
   
   public void actionPerformed( ActionEvent e )
   {   
	  if (TotalEntered > 4) 
	  {		
	      input1.setText("");
		  repaint();
		  return;
	  }
	  

      number1 = Integer.parseInt( input1.getText() );
	  input1.setText("");
	  
	  if (number1 < 1 || number1 > 30) 
	  {		
	      input1.setText("");
		  repaint();
		  BadInput = true;
		  return;
	  }

	  MyArray[ArrayCounter] = number1;
	  ArrayCounter++;
	  TotalEntered++;

      repaint();
   }

}
