Tuesday, April 4, 2017

TicTacToe Java

Following Code extends Applet and Allows the users to play the TicTacToe Game.

Code::

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JOptionPane;

public class TicTacToe extends Applet implements ActionListener {
    
    Button b[][]=new Button[3][3];
    int c=1,w=0;
    String p1="",p2="";
    public void init() 
    { setLayout(null);
     Frame f=new Frame("D");
        Dialog d=new Dialog(f,"Dialog Example",true);
        d.setLayout(null);
        Button s=new Button("Submit");
        s.setBounds(50,150,50,50);
        Label l1=new Label("Player1:");
        Label l2=new Label("Player2:");
        TextField t1=new TextField("");
        TextField t2=new TextField("");
        l1.setBounds(50,50,50,50);
        l2.setBounds(50,100,50,50);
        t1.setBounds(120,70,100,30);
        t2.setBounds(120,120,100,30);
       s.addActionListener ( new ActionListener()  
        {  
            public void actionPerformed( ActionEvent e )  
            {  
                p1=t1.getText();
                p2=t2.getText();
                d.setVisible(false);  
            }  
        }); 
         d.add(s);
         d.add(l1);
         d.add(l2);
         d.add(t1);
         d.add(t2);
         d.setSize(300,300);
         d.setVisible(true);  
      int x=100;
      int y=100;
        for(int i=0;i<3;i++)
        {
            for(int j=0;j<3;j++)
            {   b[i][j]=new Button();
                b[i][j].setBounds(x+100,y+100,50,50);
                add(b[i][j]);
                x+=100;
            }
            y+=100;
            x=100;
        }
        
      for(int i=0;i<3;i++)
      {
          for(int j=0;j<3;j++)
          {
              b[i][j].addActionListener(this);
          }
      }
        Button R=new Button("Reset");
        R.setBounds(290,500,70,50);
        add(R);
        R.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e)
            {
                for(int i=0;i<3;i++)
                {
                    for(int j=0;j<3;j++)
                    {
                        b[i][j].setLabel("");
                    }
                }
                c=1;w=0;
            }
        });
      

    }
    public void actionPerformed(ActionEvent e)
    {  for(int i=0;i<3;i++)
    {
        
    for(int j=0;j<3;j++)
    {
        if(e.getSource()==b[i][j])
        {
            if(c%2!=0)
        {
            b[i][j].setLabel("X");
        }
            else
            {
                b[i][j].setLabel("0");
            }
         b[i][j].setEnabled(false);
        }
    }
    
    }
    c++;
   
    for(int i=0;i<3;i++)
    {    int j=0;
        if(b[i][j].getLabel().equals("X")&&b[i][j+1].getLabel().equals("X")&&b[i][j+2].getLabel().equals("X"))
        {
            JOptionPane.showMessageDialog(null,p1+" Wins");
            w=1;
        }
        
    }
    for(int i=0;i<3;i++)
    {    int j=0;
        if(b[i][j].getLabel().equals("0")&&b[i][j+1].getLabel().equals("0")&&b[i][j+2].getLabel().equals("0"))
        {
            JOptionPane.showMessageDialog(null,p2+" Wins");
            w=1;
        }
    }
    for(int j=0;j<3;j++)
    {    int i=0;
        if(b[i][j].getLabel().equals("X")&&b[i+1][j].getLabel().equals("X")&&b[i+2][j].getLabel().equals("X"))
        {
            JOptionPane.showMessageDialog(null,p1+" Wins");
            w=1;
        }
    }
    for(int j=0;j<3;j++)
    {    int i=0;
        if(b[i][j].getLabel().equals("0")&&b[i+1][j].getLabel().equals("0")&&b[i+2][j].getLabel().equals("0"))
        {
            JOptionPane.showMessageDialog(null,p2+" Wins");
            w=1;
        }
    }
    int i=0,j=0;
    if(b[i][j].getLabel().equals("0")&&b[i+1][j+1].getLabel().equals("0")&&b[i+2][j+2].getLabel().equals("0"))
        {
            JOptionPane.showMessageDialog(null,p2+" Wins");
            w=1;
        }
    
    i=0;
    j=0;
    if(b[i][j].getLabel().equals("X")&&b[i+1][j+1].getLabel().equals("X")&&b[i+2][j+2].getLabel().equals("X"))
        {
            JOptionPane.showMessageDialog(null,p1+" Wins");
            w=1;
        }
    i=0;
    j=2;
    if(b[i][j].getLabel().equals("X")&&b[i+1][j-1].getLabel().equals("X")&&b[i+2][j-2].getLabel().equals("X"))
        {
            JOptionPane.showMessageDialog(null,p1+" Wins");
            w=1;
        }
    i=0;
    j=2;
    if(b[i][j].getLabel().equals("0")&&b[i+1][j-1].getLabel().equals("0")&&b[i+2][j-2].getLabel().equals("0"))
        {
            JOptionPane.showMessageDialog(null,p2+" Wins");
            w=1;
        }
    if(c>9 && w==0)
    {
        JOptionPane.showMessageDialog(null,"Draw");
    }
    
    }
    public void paint(Graphics g)
    {   Image i=getImage(getDocumentBase(),"23.jpg");
        g.setColor(Color.BLACK);
        g.setFont(new Font("",Font.BOLD,50));
        g.drawImage(i,0, 0, this);
        g.drawString("TicTacToe",200,100);
        
        g.drawLine(270, 180,270,480);
        g.drawLine(375, 180,375,480);
        g.drawLine(180,270,480,270);
        g.drawLine(180,375,480,375);
        g.setColor(Color.BLUE);
        g.drawString("By Dishant",200,650);
    }
}

Output::




Monday, April 3, 2017

Digital Clock Java Using Applet

Following class extends Applet and implements Runnable.

Code::

import java.applet.Applet;
import java.awt.*;
import java.util.*;
import java.text.*;
public class DigitalClock extends Applet implements Runnable {
    Thread t;
    String Time="";
    
    public void init() 
    {       setSize(400,200);
            setBackground(Color.CYAN);
            t=new Thread(this);
            t.start();
    }

    public void run()
    {
       try
       {
           while(true)
           {
               Calendar c=Calendar.getInstance();
               SimpleDateFormat f=new SimpleDateFormat("hh:mm:ss "+" dd/MM/yyyy");
               
               Date d=c.getTime();
               Time=f.format(d);
               repaint();
               t.sleep(1000);
           }
       }catch(Exception e)
       {
           System.out.println("Error Occured");
       }
    }
    
    public void paint(Graphics g)
    {
        g.setColor(Color.RED);
        g.setFont(new Font("Dialog",Font.BOLD,50));
        g.drawString(Time, 100,100);
    }
}


Output::

Thursday, March 16, 2017

Exception Handling Using Try Catch Java

The statements which can throw exception are placed in try block and after the exception is thrown the catch block following the try block are executed and the program is not abnormally terminated.

Code::

import java.util.*;
public class Exception 
{

    
    public static void main(String[] nt) 
    {
        Scanner in =new Scanner(System.in);
        System.out.print("Enter any Number:");
        try
        {
        int a=in.nextInt();
        int b=12345/a;
        System.out.println("Result is :"+b);
        }
        catch(ArithmeticException e)
        {
            System.out.println("Exception: " +e);
        }
        
    }

}

Output::

UnCaught Exception

Exception is a run time error which is caused due to Programmer error,Input error and others abnormal condition which leads to termination of the program.

UnCaught Exception is that which is handled by java run time system by default handler and leads to abnormal termination of program.

Code::

import java.util.*;
public class Exception 
{

    
    public static void main(String[] nt) 
    {
        Scanner in =new Scanner(System.in);
        System.out.print("Enter any Number:");
        int a=in.nextInt();
        int b=12345/a;
        System.out.println("Result is :"+b);
    }
    
}

Output::

Friday, March 10, 2017

Classes and Objects Python

Following are Some Examples to illustrate the concept:

Code::
1.

class rectangle:
    def __init__(self,w,h):
        self.w=w
        self.h=h
   
    def area(self):
        self.area=self.w*self.h
        return self.area
   
    def perimeter(self):
        self.perimeter=2*(self.w+self.h)
        return self.perimeter
   
    def issquare(self):
        if(self.w is self.h):
            return True
        else:
            return False
   
    def getw(self):
        return self.w
   
    def geth(self):
        return self.h
   
r=rectangle(5,5)
print("Width:",r.getw(),"Height:",r.geth())
print("Area is:",r.area())
print("Perimeter is:",r.perimeter())
print("IsSquare:",r.issquare())

Output::
2.

class complex:
    def __init__ (self,a,b):
        self.r=a
        self.i=b
   
    def add(self,sec):
        r=complex(0,0)
        r.r=self.r+sec.r
        r.i=self.i+sec.i
        return r
       
    def sub(self,sec):
        r=complex(0,0)
        r.r=self.r-sec.r
        r.i=self.i-sec.i
        return r
   
    def mul(self,sec):
        r=complex(0,0)
        r.r=self.r*sec.r
        r.i=self.i*sec.i
        return r
   
    def div(self,sec):
        r=complex(0,0)
        r.r=self.r/sec.r
        r.i=self.i/sec.i
        return r
   
    def __str__ (self):
        return(str(self.r)+"+"+str(self.i)+"i")
   
c1=complex(2,3)
c2=complex(3,1)
print("Addition is:",c1.add(c2))
print("Subtraction is:",c1.sub(c2))
print("Multiplication is:",c1.mul(c2))

print("Division is:",c1.div(c2))

Output::

Thursday, March 9, 2017

Inheritance Python

Inheritance is the process of reusing the existing code .
Define new classes from the old one i.e including all features of old classes.

Following Program will illustrate the concept:

Code::


class bankaccount:
    def __init__ (self):
        self.bal=int(input("Enter Initial Balance:"))
   
    def withdraw(self,amt):
        if amt<self.bal:
            self.bal=self.bal-amt
        else:
            raise ValueError ("Insufficient Funds")
   
    def deposit(self,amt):
        self.bal=self.bal+amt
   
    def transfer(self,amt,toacc):
        try:
            self.withdraw(amt)
            toacc.deposit(amt)
        except ValueError as e:
            print("Try Again",e)
    def __str__(self):
        return"Balance is: "+str(self.bal)

class cheque(bankaccount):
    def __init__ (self):
        bankaccount.__init__(self)
        self.cheq={}
    def process(self,amt,number,org):
        try:
            self.withdraw(amt)
        except ValueError as e:
            print("Cheque Returned for",e)
        self.cheq[number]=(org,amt)
    def cheqinfo(self,number):
        if self.cheq.get(number):
            print(self.cheq[number])
        else:
            print("No Such Cheque")
    def withdraw(self,amt):
        print('Withdrawing')
        bankaccount.withdraw(self, amt)

nt=bankaccount()        #object of bankaccount type created
nt.deposit(1500)
print(nt)
nt.withdraw(1500)
print(nt)
nti=bankaccount()          #new object created
nt.transfer(1500, nti)
print(nt,nti)

dn=cheque()
dn.process(1500, 1001, 'nearur')

dn.cheqinfo(1001)

Output::

Wednesday, March 8, 2017

Final Keyword

Final Keyword is used to make any value immutable(not changable),avoid inheritance,or avoid method overriding.

Final To Avoid Method Overriding:

Code::
class Sample
{
  final void show()
    {
        System.out.println("Hello NT");
    }
}
class Test extends Sample
{
    /*void show()
    {
        Sytsem.out.println("Hello NTI");
    }*/          //Compile Time Error
}
public class FinalKeyword 
{

    public static void main(String[] nt) 
    {
      Test t=new Test();
      t.show();
    }
    

}
Output::


Final To avoid Inheritance :

Code::
final class Sample
{
     void show()
    {
        System.out.println("Hello NT");
    }
}
/*class Test extends Sample
{
  
}*/ //compile time error
public class FinalKeyword 
{

    public static void main(String[] nt) 
    {
      
    }
    
}