flipkart

Saturday, 2 May 2015

JAVA PROGRAMMING MID 2 QUESTIONS

Exception handling
1.An exception is a run-time error
2.Code monitor for exceptions, it must be part of try block.
3.A catch block receives exception.
4.The type of exception in a catch must match the type of exception that you want to catch.
5. An uncaught Exception ultimately leads to abnormal program termination.
6. throw generates an exception.
7.Exception classes are subclasses of what class? Throwable
8. A finally block is the last thing executed when a try/catch block is exited.
9. To print a stack trace,call printStackTrace(), which is defined by Throwable.
10. No throws clause is needed for unchecked exception.
11. In Java, all exceptions are derived from the class
a. Throwable     b.Exception        c.Error   d.Runtime Exception
12. Java’s exception handling mechanism is meant to handle
a. only compile time errors
b. only runtime error
c. both runtime and compile time error
d. only logical error
13.The code contained in _______ block is monitored for exception.
a.try       b. catch                                c. throw               d.finally
14.After execution of a ‘catch’ block, the control goes to
a. the ‘try’ block where the exception was raised and continues execution.
b. just after the ‘catch’ block and continues execution.
c. end of the program and halts the execution displaying the exception message.
d. None of the above is true.
15.Which of the following lists the keywords associated with exception handling?
i. try                       ii.catch                  iii.throw               iv.throws             v.finally
a.i,ii,iii and v only
b. I,ii,iii,iv and v only
c. I,ii and v only
d. I,ii,iii,iv and v

I/O Streams
1. A stream is an abstraction that either produces or consumes information.
2. What type of streams does Java define?  byte and character streams
3. what are the built-in streams? System.in,System.out,System,err
4. What method is used to read a byte from System.in? Read()
5.what method can be used to write a byte of System.out?  write()
6.What does read() return when the end of the file is reached?-1
7. What class is used to read characters from a file?FileReader
8. What class is used to write characters to a file? FileWriter
9.What classes top the character-based stream classes? Reader and Writer
10. To read from console, you will open what type of reader?BufferedReader
11.What streams are used to read and write binary data? DataInputStream and DataOutputStream
12. Which of the following statements is false with reference to Java I/O?
a.Byte and character, two types of streams are available for I/O.
b. At the lowest leve, all I/O is byte-oriented
c.Reader and Writer class streams belong to byte streams.
d. Same I/O classes and methods can be applied to both console I/O and File I/O.
13. Which of the following statements is false with reference to system.in
a.It is a byte-based I/O stream
b. It is a character-based I/O stream
c. It is used for character I/O from and to console.
d.It is predefined stream variable of public, final and static type.
14. Which class object may be used to obtain or manipulate the information associated with a file?
a. FileReader      b.File    c.FileInputStream            d. None of these
4.Which of the following is a character-based console output stream?
a. System.out    b.PrintWriter    c.DataOutputStream      d.None of these
15.’System’ is a class in which of the following Package?
a. Java.lang         b. Java.io             c. Java.util           d.Java.sql
16.Autoboxing is the automatic conversion that the Java compiler makes between the primitive types and their corresponding object wrapper classes
Threads
1. An exception is a run-time error
2. Code monitored for exceptions must be part of what statement? Try
3. What does catch do? Receives exceptions
4. What happens if an exception is not caught? Abnormal program termination
5. One try block be used to handle two or more different types of exception?
6. catch for a superclass exception also catch subclasses of that superclass?
7. An exception not caught by an inner try/catch block moves outward to the enclosing try block.
8. throw   generates an exception
9.  throw throws objects must be instances of valid exception classes.
10. An exception can be rethrown after it is caught
11. Exception classes are subclasses of Throwable class.
12. A finally block is the last thing executed when a try/catch block is exited.
13. printStackTrace() display a stack trace of the events leading up to an exception?
14.When a method generates a checked exception that it does not handle, it must state this fact using a throws  clause.
15.No throws clause is needed for unchecked exceptions.
16. In Java, all exceptions are derived from the class
a. Throwbale     b.Exception        c.Error   d.Runtime Exception
17. Java’s exception handling mechanism is meant to handle
a. only compile time errors          b.only runtime error      c.both runtime and compile time errors                d.only logical errors
18.The code contained in _______ block is monitored for exception
a.try       b.catch                 c.throw                                d.finally
19.After execution of a ‘catch’ block, the control goes to
a. the ‘try’ block where the exception was raised and continues execution
b. just after the ‘catch’ block and continues execution
c. end of the program and halts the execution displaying the exception message
d. None of the above is true
20.Which of the following lists the keywords associated with exception handling?
i.try        ii.catch  iii. Throw              iv.throws             v.finally
a. I,ii,iii and v only
b.i,ii,iii,iv and v only
c. I,ii and v only
d. I,ii,iii, iv and v
21. What method is used to read a byte from System.in? read()
22. What method can be used to write a byte to System.out? write()
23. What are the built-in streams? System.in,System.out,System.err
24. What types of streams does java define? Byte and Character streams



Applets
1. An Applet is a special type of java program that is designed for transmission over the Internet and that runs inside a browser.
2. The Paint() method displays output in an AWT-based applet’s window.
3. The package java.applet must be included when creating an applet.
4. Applets are executed by a browser or by special tools, such as appletviewer.
5. When start() method called, the applet must be started, or restared.
6. When stop() is called, the applet must be paused.
7. What are the four lifecycle methods that most applets will override?
Init(),start(),stop() and destroy().
8.showStatus() displays output in the status window
9.What method is used to obtain a parameter specified in the APPLET tag?
getParameter().
10.Which of the following statements is true about Java Applet?
a.They use the resources of client machine in order to execute.
b. They may be GUI or Stream I/o based.
c. They may be based on AWT or Swing.
d. They do not contain a main() method.
11. Which of the following classes is inherited by a Java Applet?
a. Applet b. String c. Graphics          d. All of the these
12. Which of the following methods causes an applet to terminate?
a. destroy()    b. kill() c.stop()            d. Any of these
13. Which of the following methods is used to show banner scrolled in an applet?
a. init()             b.paint()           c.repaint()      d. println()
14. Which of the following statement is false about native methods?
a.These are subroutines written in language other than Java.
b.Native methods can be called from inside Java Program using native keyword.
c. Native method cannot be called from inside java programs. Rather, they should be provided at runtime.
d. Native methods are often written in C language.
16.Suppose in a generic class ‘Gen’,T is a type parameter. Which of the following declares the generic ‘Gen’ class correctly?                                Class Gen  <T> {
13.A condition that must be true before a method call will work correctly is called a precondition
Swings
1.All Swing components must be stored in a Container
2.What Swing class creates a label? JLabel
3. What package must be included in all Swing programs? javax.swing
4.All code that creates or modifies the GUI must be executed on the event-dispatching thread
5.The delegation event model is based on event sources and event listeners
6. What is the name of the event listener interface for action event? Action Listener
7.What class creates a Swing push button? JButton
8.When the user presses enter while within a JTextField, what event is generated
ActionEvent
9.Which of the following is the default layout manager of the content pane?
a. flow Layout             b.Border Layout        c.Grid Layout  d.Box Layout
10. Which package must be included in all swing programs:
a. java.swing               b.javax.swing                        c.java.swingsx                        d.javax.swingx
11. The method to receive and process the event is implemented by
a.Event Source
b. Event Listener
c. Both (a) and (b) above
d.None of the above
MID 10 MARKS QUESTIONS
1. Write Difference Between Unchecked Exception and Checked Exception?
2. Write about Life Cycle of the Thread?
3. Why thread is called light weight task and process heavy weight task.
4. How are the exceptions handled in java?
5. Define Interface? Briefly?
6. What is package? How do you create a package? Explain about the access
Protection in packages?
7. Define Applet? Difference between Application and Applet?
8. Explain Buffered Reader and BufferedWriter classes from I/O package with an example.
9. Difference b/w class and interface in java
10. Explain FileInputStream and FileOutputStream with an example for each.
11.What are Checked Exceptions and Unchecked Exceptions? Explain some of These exceptions with an example and also give the differences between them.

12.Write short notes on  passing parameters to applets
13. Briefly explain the following terms:
    (a) Component.    (b) Container.    (c) Panel.    (d) Window.                                                        

                                            MID 2M QUESTIONS
What is a IO stream?
It is a stream of data that flows from source to destination. Good example is file copying. Two streams are involved – 
input stream and output stream. An input stream reads from the file and stores the data in the process (generally in a temporary variable). The output stream reads from the process and writes to the destination file
·  What is a IO stream?
It is a stream of data that flows from source to destination. Good example is file copying. Two streams are involved – 
input stream and output stream. An input stream reads from the file and stores the data in the process (generally in a temporary variable). The output stream reads from the process and writes to the destination file.
·  What is the necessity of two types of streams – byte streams and character streams?
Byte streams were introduced with JDK 1.0 and operate on the files containing ASCII characters. We know Java supports other language characters also known as Unicode characters. To read the files containing Unicode characters, the designers introduced character streams with JDK 1.1. As ASCII is a subset of Unicode, for the files of English characters, we can go with either byte streams or character streams.
·  What are the super most classes of all streams?
All the byte stream classes can be divided into two categories (input stream classes and output stream classes) and all character streams classes into two (reader classes and writer classes). There are 
four abstract classes from which all these streams are derived. The super most class of all byte stream classes is java.io.InputStream and for all output stream classes, java.io.OutputStream. Similarly for all reader classes is java.io.Reader and for all writer classes isjava.io.Writer.
·  What are FileInputStream and FileOutputStream?
These 
two are general purpose classes used by the programmer very often to copy file to file. These classes work well with files containing less data of a few thousand bytes as by performance these are very poor. For larger data, it is preferred to use BufferedInputStream (or BufferedReader) and BufferedOutputStream (or BufferedWriter).
·  Which you feel better to use – byte streams or character streams?
I feel personally to go with character streams as they are the latest. Many features exist in character streams that do not in byte streams like a) using BufferedReader in place of BufferedInputStreams and DataInputStream (one stream for two) and b) using newLine() method to go for next line and for this effect we must go for extra coding in byte streams etc.
·  What System.out.println()?
"println()" is a method of PrintStream class. "out" is a static object of PrintStream class defined in "System" class. 
System is a class from java.lang package used to interact with the underlying operating system by the programmer.
·  What are filter streams?
Filter streams are a category of IO streams whose responsibility is to add extra functionality (advantage) to the existing streams like giving 
line numbers in the destination file that do not exist int the source file or increasing performance of copying etc.
·  Name the filter streams available?
There are four filter streams in 
java.io package – two in byte streams side and two in character streams side. They are FilterInputStreamFilterOutputStreamFilterReader and FilterWriter. These classes are abstract classes and you cannot create of objects of these classes.
·  Name the filter stream classes on reading side of byte stream?
There are four classes – LineNumberInputStream (the extra functionality is it adds line numbers in the destination file), DataInputStream (contains special methods like readInt(), readDouble() and readLine() etc that can read an int, a double and a string at a time), BufferedInputStream (gives buffering effect that increases the performance to the peak) and PushbackInputStream (pushes the required character back to the system).
·  What is the functionality of SequenceInputStream?
It is very useful to copy multiple source files into one destination file with very less code.
·  What is PrintStream and PrintWriter?
Functionally both are same but belong to two different categories – 
byte streams and character streams. println() method exists in both classes.
·  Which streams are advised to use to have maximum performance in file copying?
BufferedInputStream and BufferedOutputStream on byte streams side and BufferedReader and BufferedWriter on character streams side.
·  What are piped streams?
There are four piped streams – PipedInputStream, PipedOutputStreamPipedReader and PipedWriter. These streams are very useful to pass data between two running threads (say, processes).
·  What is File class?
It is a non-stream (not used for file operations) class used to know the properties of a file like when it was created (or modified), has read and write permissions, size etc.
·  What is RandomAccessFile?
It is a special class from java.io package which is neither a input stream nor a output stream (because it can do both). It is directly a subclass of Object class. Generally, a stream does only one purpose of either reading or writing; but 
RandomAccessFile can do both reading from a file and writing to a file. All the methods of DataInputStream and DataOutStream exist in RandomAccessFile

1) What is multithreading?
Multithreading is a process of executing multiple threads simultaneously. Its main advantage is:
  • Threads share the same address space.
  • Thread is lightweight.
  • Cost of communication between process is low.

What is thread?

A thread is a lightweight subprocess.It is a separate path of execution.It is called separate path of execution because each thread runs in a separate stack frame.

What is difference between wait() and sleep() method?

wait()
sleep()
1) The wait() method is defined in Object class.
The sleep() method is defined in Thread class.
2) wait() method releases the lock.
The sleep() method doesn't releases the lock.
13) What is the purpose of Synchronized block?
  • Synchronized block is used to lock an object for any shared resource.
  • Scope of synchronized block is smaller than the method.

16)What is the difference between notify() and notifyAll()?

The notify() is used to unblock one waiting thread whereas notifyAll() method is used to unblock all the threads in waiting state.

80)What is difference between throw and throws?

throw keyword
throws keyword
1)throw is used to explicitly throw an exception.
throws is used to declare an exception.
2)checked exceptions can not be propagated with throw only.
checked exception can be propagated with throws.
3)throw is followed by an instance.
throws is followed by class.
4)throw is used within the method.
throws is used with the method signature.
5)You cannot throw multiple exception
You can declare multiple exception e.g. public void method()throws IOException,SQLException.


Why string objects are immutable in java?

Because java uses the concept of string literal. Suppose there are 5 reference variables,all referes to one object "sachin".If one reference variable changes the value of the object, it will be affected to all the reference variables. That is why string objects are immutable in java.

What is the purpose of toString() method in java ?

The toString() method returns the string representation of any object. If you print any object, java compiler internally invokes the toString() method on the object. So overriding the toString() method, returns the desired output, it can be the state of an object etc. depends on your implementation.

What is nested class?

A class which is declared inside another class is known as nested class. There are 4 types of nested class member inner class, local inner class, annonymous inner class and static nested class.

What is difference between abstract class and interface?

Abstract class
Interface
1)An abstract class can have method body (non-abstract methods).
Interface have only abstract methods.
2)An abstract class can have instance variables.
An interface cannot have instance variables.
3)An abstract class can have constructor.
Interface cannot have constructor.
4)An abstract class can have static methods.
Interface cannot have static methods.
5)You can extends one abstract class.
You can implement multiple interfaces.

What is package?

A package is a group of similar type of classes interfaces and sub-packages. It provides access protection and removes naming collision.
What is an applet?
Ans. Applet is a program which can get downloaded into a client environment and start executing there.
What is the sequence for calling the methods by AWT for applets?
Ans. When an applet begins, the AWT calls the following methods, in this sequence: 

► init() 
► start() 
► paint() 
 Can we pass parameters to an applet from HTML page to an applet? How?
Ans. We can pass parameters to an applet using tag in the following way: 

► <param name="param1″ value="value1″> ► <param name="param2″ value="value2″> 
What is AWT?

Ans. AWT stands for Abstract Window Toolkit. AWT enables programmers to develop Java applications with GUI components, such as windows, and buttons. The Java Virtual Machine (JVM) is responsible for translating the AWT calls into the appropriate calls to the host operating system.

Friday, 24 April 2015

II B.Tech II Cse Java Programming Lab Manuals

WEEK 1

1. Use Eclipse or Netbean platform and acquaint with the various menus. Create a test project, add a test class and run it. See how you can use auto suggestions, auto fill. Try code formatter and code refactoring like renaming variables, methods and classes. Try debug step by step with java program to find prime numbers between 1 to n.

class PrimeNumbers
{

public static void main(String[] jbrec)
{
try
{
System.out.println("***** PRIME NUMBERS *****");

Scanner objScanner = new Scanner(System.in);

System.out.print("\nEnter n Value:");
long n = objScanner.nextInt();

for (long i = 2; i <= n; i++)
{
boolean isprime = isNumPrime(i);
if (isprime)
{
System.out.print(i + " ");
}
}
}
 catch (Exception e)
{
e.printStackTrace();
}
}

public static boolean isNumPrime(long number)
{
boolean result = true;

for (long i = 2; i <= number / 2; i++)
{
if ((number % i) != 0)
{
result = true;
}
else
{
result = false;
break;
}
}

return result;
}
}

WEEK 2
1. Write a java program that prints all real and imaginary solutions to the quadratic equation ax2+bx+c=0. Read in a, b, c and use the quadratic formula
import java.io.*;
class Quadratic
{
            public static void main(String args[])throws IOException
            {
                        double x1,x2,disc,a,b,c;
                        InputStreamReader obj=new InputStreamReader(System.in);
                        BufferedReader br=new BufferedReader(obj);
                        System.out.println("enter a,b,c values");
                        a=Double.parseDouble(br.readLine());
                        b=Double.parseDouble(br.readLine());
                        c=Double.parseDouble(br.readLine());
                        disc=(b*b)-(4*a*c);
                        if(disc==0)
                        {
                                    System.out.println("roots are real and equal ");
                                    x1=x2=-b/(2*a);
                                    System.out.println("roots are "+x1+","+x2);
                        }
                        else if(disc>0)
                        {
                                    System.out.println("roots are real and unequal");
                                    x1=(-b+Math.sqrt(disc))/(2*a);
                                    x2=(-b+Math.sqrt(disc))/(2*a);
                                    System.out.println("roots are "+x1+","+x2);
                        }
                        else
                        {
                                    System.out.println("roots are imaginary");
                        }
            }
}

2. Write a Java program for sorting a given list of names in ascending order
public class Sorting
{
    String str=new String();
        String[] names=new String[] {"King","Raja","Suresh","Arun"};
       
        for(int i=0;i<names.length;i++)
           
        System.out.println("Names are"+names[i]);
        System.out.println("Sorting names are");
        for(int i=0;i<names.length;i++)
            for(int j=0;j<names.length;j++)
            {
                if(names[i].compareToIgnoreCase(names[j])<0)
                {
                str=names[i];
                names[i]=names[j];
                names[j]=str;
                }
            }
        for(int i=0;i<names.length;i++)
           
        System.out.println("Names are"+names[i]);

Output:

Java sorting Harish Ramesh Mahesh Rakesh

Sorted order is
Ramesh
Rakesh
Mahesh
Harish

Java sorting sai hari teja ravi sandeep
Sorted order is
teja
sandeep
sai
ravi
hari

3. Write a java program to accept a string from user and display number of vowels, consonants, digits and special characters present in each of the words of the given text.

import java.io.*;
public class classString
{
public static void main(String args[])
{
    String str="This is java9 com SEEerverces123";
     int ln=str.length();
     System.out.println("STring length is"+ln);
     int d=0,v=0,s=0,c=0;
     for(int i=0;i<ln;i++)
     {
         char ch=str.charAt(i);
        
         if(((ch>='a') && (ch<='z')) || ((ch>='A') && (ch<='Z')))
         {
  if(ch=='a'|| ch=='e'|| ch=='i' || ch=='o' || ch=='u' || ch=='A'|| ch=='E'|| ch=='I' || ch=='O' || ch=='U')
                v++;
     else
                c++;
         }
         else if(ch>='0' && ch<='9')
                d++;
           else
             s++;
        
        
      }
    
     System.out.println("Digits"+d);
     System.out.println("Vowels"+v);
     System.out.println("Consonents"+c);
     System.out.println("Special Characters"+s);
    
}
}

OUTPUT:

STring length is32
Digits4
Vowels10
Consonents14


Special Characters4

WEEK 3

1. Write a java program to make rolling a pair of dice 10,000 times and counts the number of times doubles of are rolled for each different pair of doubles.

Hint: Math.random()
import java.util.Random; // to use random number generator

/**
 * This program performs the following type of experiment:  Given a desired
 * total roll, such as 7, roll a pair of dice until the given total comes up,
 * and count how many rolls are necessary.  Now do that over and over, and
 * find the average number of rolls.  The number of times the experiment is
 * repeated is given by the constant, NUMBER_OF_EXPERIMENTS.  The average is
 * computed and printed out for each possible roll = 2, 3, ..., 12.
 */

public class Dice
{

   /**
    * The number of times that the experiment "roll for a given total"
    * is to be repeated.  The program performs this many experiments, and
    * prints the average of the result, for each possible roll value,
    */
   public static final int NUMBER_OF_EXPERIMENTS = 10000;

   public static void main(String[] args)
   {
       double average;  // The average number of rolls to get a given total.
       System.out.println("Total On Dice     Average Number of Rolls");
       System.out.println("-------------     -----------------------");
       for ( int dice = 2;  dice <= 12;  dice++ )
       {
          average = getAverageRollCount( dice );
          System.out.printf("%10d%22.4f\n", dice, average);
             // Use 10 spaces to output dice, and use 22 spaces to output
             // average, with 4 digits after the decimal.
       }
   }
  
   /**
    * Find the average number of times a pair of dice must be rolled to get
    * a given total.  The experiment of rolling for the given total is
    * repeated NUMBER_OF_EXPERIMENTS times and the average number of rolls
    * over all the experiments is computed.
    * Precondition:  The given total must be be between 2 and 12, inclusive.
    * @param roll the total that we want to get on the dice
    * @return the average number of rolls that it takes to get the specified
    *    total
    */
   public static double getAverageRollCount( int roll )
   {
       int rollCountThisExperiment;  // Number of rolls in one experiment.
       int rollTotal;  // Total number of rolls in all the experiments.
       double averageRollCount;  // Average number of rolls per experiment.
       rollTotal = 0;
       for ( int i = 0;  i < NUMBER_OF_EXPERIMENTS;  i++ )
       {
          rollCountThisExperiment = rollFor( roll );
          rollTotal += rollCountThisExperiment;
       }
       averageRollCount = ((double)rollTotal) / NUMBER_OF_EXPERIMENTS;
       return averageRollCount;
   }
  
   /**
    * Simulates rolling a pair of dice until a given total comes up.
    * Precondition:  The desired total is between 2 and 12, inclusive.
    * @param N the total that we want to get on the dice
    * @return the number of times the dice are rolled before the
    *    desired total occurs
    * @throws IllegalArgumentException if the parameter, N, is not a number
    *    that could possibly come up on a pair of dice
    */
   public static int rollFor( int N )
   {
       if ( N < 2 || N > 12 )
          throw new IllegalArgumentException("Impossible total for a pair of dice.");
       int die1, die2;  // Numbers between 1 and 6 representing the dice.
       int roll;        // Total showing on dice.
       int rollCt;      // Number of rolls made.
       rollCt = 0;
       do {
          die1 = (int)(Math.random()*6) + 1;
          die2 = (int)(Math.random()*6) + 1;
          roll = die1 + die2;
          rollCt++;
       } while ( roll != N );
       return rollCt;
   }
  
}  // end DiceRollStats


2. Write java program that inputs 5 numbers, each between 10 and 100 inclusive. As each number is read display it only if it‘s not a duplicate of any number already read display the complete set of unique values input after the user enters each new value.


import java.util.Scanner;

public class Duplicate
 {
   
            public static void main(String[] args)
             {
                                    int a[]={0,0,0,0,0},t,i,j,s=0,r=0;
                                    Scanner z=new Scanner(System.in);
                                    System.out.println("Enter 5 unique values between 10 & 100 ");
                                    for(j=0;j<5;j++)
                                    {  
                                                t=z.nextInt();
                                                if(t>=10&&t<=100)
                                                { 
                                                            for(i=0;i<r;i++)
                                                            {
                                                                        if(a[i]==t)
                                                                        {
                                                                                    s++;
                                                                        }
                                                            }
                                                if(s>0)
                                                {
                                                            System.out.println("Duplicate value found retry");
                                                                        s--;
                                                                        j--;
                                                                        continue;
                                                }
                                                else
                                                            {
                                                                        a[j]=t;
                                                                                    r++;
                                                            }
                                                }
                                                else
                                                {
                                                System.out.println("value must be in between 10 & 100");
                                                            j--;
                                                }   
                                    }
                                                 System.out.print("The five unique values are ");
                                    for(i=0;i<5;i++)
                                    {
                                                            System.out.print(a[i]+" ");
                                    }       
               
            }
   
}

Output:-
Enter 5 unique values between 10 & 100
0
value must be in between 10 & 100
10
20
10
Duplicate value found retry
30
40
50
The five unique values are 10 20 30 40 50




3. Write a java program to read the time intervals (HH:MM) and to compare system time if the system time between your time intervals print correct time and exit else try again to repute the same thing. By using StringToknizer class.


import java.util.*;
import java.text.*;
class Tokenizer
{
    static int[] cal(String y)
            {
                String a,b,x=":";
                int i[] = {0,0};
                StringTokenizer st=new StringTokenizer(y,x);
                a=(String) st.nextElement();
                b=(String) st.nextElement();
                i[0]=Integer.parseInt(a);
                i[1]=Integer.parseInt(b); 
                return i;
            }
}
  public class GetCurrentDateTime
{
  public static void main(String[] args) {

               DateFormat dateFormat = new SimpleDateFormat("HH:mm");
               Calendar cal = Calendar.getInstance();
           String y=dateFormat.format(cal.getTime());
             
           while(true)
            {
                       
                        String x,t1,a,b;int minute,hour;
                        int HH[]={0,0},MM[]={0,0};
                        t1=dateFormat.format(cal.getTime());
                int time1[]=Tokenizer.cal(t1);
                hour=time1[0];
                minute=time1[1];
                System.out.println("Enter the time intervels in HH MM fommat");
                        Scanner z=new Scanner(System.in);
                String t2=z.next();
                String t3=z.next();
                int time2[]=Tokenizer.cal(t2);
                        HH[0]=time2[0];
                        MM[0]=time2[1];
                int time3[]=Tokenizer.cal(t3);
                        HH[1]=time3[0];
                        MM[1]=time3[1];
                if(HH[0]>HH[1])
                {
                    int t=HH[0];
                    HH[0]=HH[1];
                    HH[1]=t;
                }
                if(HH[0]==HH[1]&&MM[0]>MM[1])
                {
                    int t=MM[0];
                    MM[0]=MM[1];
                    MM[1]=t;
                }
              
                if((hour>=HH[0]&&hour<HH[1])||(hour==HH[0]&&hour==HH[1])&&(minute>=MM[0]&&minute<=MM[1]))
                        {
                                    System.out.println("Current time is  "+hour+" : "+minute);
                                    break;
                        }
               else
                {
                    System.out.println("Try again");
                }

        }
  }
}
                               
Week-4

1.     Write a java program to split a given text file into n parts. Name each part as the name of the original file followed by .part<n> where n is the sequence number of the part file.

import java.io.*; 
import java.util.Scanner; 
public class Split { 
public static void main(String args[]) 
 try{ 
  // Reading file and getting no. of files to be generated 
  String inputfile = "D:\\test.txt"; //  Source File Name. 
  double nol = 2000.0; //  No. of lines to be split and saved in each output file. 
  File file = new File(inputfile); 
  Scanner scanner = new Scanner(file); 
  int count = 0; 
  while (scanner.hasNextLine())  
  { 
   scanner.nextLine(); 
   count++; 
  } 
  System.out.println("Lines in the file: " + count);     // Displays no. of lines in the input file. 

  double temp = (count/nol); 
  int temp1=(int)temp; 
  int nof=0; 
  if(temp1==temp) 
  { 
   nof=temp1; 
  } 
  else 
  { 
   nof=temp1+1; 
  } 
  System.out.println("No. of files to be generated :"+nof); // Displays no. of files to be generated. 

  //--------------------------------------------------------------------------------------------------------- 

  // Actual splitting of file into smaller files 

  FileInputStream fstream = new FileInputStream(inputfile); DataInputStream in = new DataInputStream(fstream); 

  BufferedReader br = new BufferedReader(new InputStreamReader(in)); String strLine; 

  for (int j=1;j<=nof;j++) 
  { 
   FileWriter fstream1 = new FileWriter("C:/New Folder/File"+j+".txt");     // Destination File Location 
   BufferedWriter out = new BufferedWriter(fstream1);  
   for (int i=1;i<=nol;i++) 
   { 
    strLine = br.readLine();  
    if (strLine!= null) 
    { 
     out.write(strLine);  
     if(i!=nol) 
     { 
      out.newLine(); 
     } 
    } 
   } 
   out.close(); 
  } 

  in.close(); 
 }catch (Exception e) 
 { 
  System.err.println("Error: " + e.getMessage()); 
 } 


}  

2. Write java program to create a super class called Figure that receives the dimensions of two dimensional objects. It also defines a method called area that computes the area of an object. The program derives two subclasses from Figure. The first is Rectangle and second is Triangle. Each of the sub class overridden area () so that it returns the area of a rectangle and a triangle respectively.

// Using abstract methods and classes. 
abstract class Figure { 
double dim1; 
double dim2; 
Figure(double a, double b) { 
dim1 = a; 
dim2 = b; 

// area is now an abstract method 
abstract double area(); 
}
class Rectangle extends Figure {
Rectangle(double a, double b) {
super(a, b);
}
// override area for rectangle
double area() {
System.out.println("Inside Area for Rectangle.");
return dim1 * dim2;
}
}
class Triangle extends Figure {
Triangle(double a, double b) {
super(a, b);
}
// override area for right triangle
double area() {
System.out.println("Inside Area for Triangle.");
return dim1 * dim2 / 2;
}
}
class AbstractAreas {
public static void main(String args[]) {
// Figure f = new Figure(10, 10); // illegal now
Rectangle r = new Rectangle(9, 5);
Triangle t = new Triangle(10, 8);
Figure figref; // this is OK, no object is created
figref = r;
System.out.println("Area is " + figref.area());
figref = t;
System.out.println("Area is " + figref.area());
}
}


3. Write a Java program that creates three threads. First thread displays “Good Morning” every one second, the second thread displays “Hello” every two seconds and the third thread displays “Welcomeevery three seconds

class A extends Thread
{
synchronized public void run()
{
try
{
while(true)
{
sleep(1000);
System.out.println("good morning");
}
}
catch(Exception e)
{                          }
}
}
class B extends Thread
{
synchronized public void run()
{
try
{
while(true)
{
sleep(2000);
System.out.println("hello");
}
}
catch(Exception e)
{                          }
}
}
class C extends Thread
{
synchronized public void run()
{
try
{
while(true)
{
sleep(3000);
System.out.println("welcome");
}
}
catch(Exception e)
{                         }
}
}
class ThreadDemo
{
public static void main(String args[])
{
A t1=new A();
B t2=new B();
C t3=new C();
t1.start();
t2.start();
t3.start();
}
}




Week-5

1. Write a Java program that correctly implements producer consumer problem using the concept of inter thread communication

class Q
{
               int n;
               boolean valueSet=false;
               synchronized int get()
               {
                               if(!valueSet)
                               try
                               {
                                              wait();
                               }
                               catch(InterruptedException e)
                               {
                                              System.out.println("Interrupted Exception caught");
                               }
                               System.out.println("Got:"+n);
                               valueSet=false;
                               notify();
                               return n;
               }
               synchronized void put(int n)
               {
                               if(valueSet)
                               try
                               {
                                              wait();
                               }
                               catch(InterruptedException e)
                               {
                                              System.out.println("Interrupted Exception caught");
                               }
                               this.n=n;
                               valueSet=true;
                               System.out.println("Put:"+n);
                               notify();
               }
}
class Producer implements Runnable
{
               Q q;
               Producer(Q q)
               {
                               this.q=q;
                               new Thread(this,"Producer").start();
               }
               public void run()
               {
                               int i=0;
                               while(true)
                               {
                                              q.put(i++);
                               }
               }
}
class Consumer implements Runnable
{
               Q q;
               Consumer(Q q)
               {
                               this.q=q;
                               new Thread(this,"Consumer").start();
               }
               public void run()
               {
                               while(true)
                               {
                                              q.get();
                               }
               }
}
class ProdCons
{
               public static void main(String[] args)
               {
                               Q q=new Q();
                               new Producer(q);
                              new Consumer(q);
                               System.out.println("Press Control-c to stop");
               }
}
Output:
Put:1
Got:1
Put:2
Got:2
Put:3
Got:3
Put:4
Got:4
Put:5
Got:5
Put:6
Got:6
Put:7
Got:7
Put:8
Got:8
Put:9
Got:9
Put:10
Got:10
Put:11
Got:11
Put:12
Got:12
Put:13
Got:13
Put:14
Got:14

2. Write a java program to find and replace pattern in given file.

import java.io.*;
import java.util.regex.Pattern;
import java.util.regex.Matcher;

import java.io.*;
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class PaternReplace
{
public static void main(String[] args) throws Exception
{
        FileInputStream fis=new FileInputStream("F:\\java\\test.txt");

        File file = new File("F:\\java\\test.txt");
                                    FileReader fileReader = new FileReader(file);
                                    BufferedReader bufferedReader = new BufferedReader(fileReader);
                                    StringBuffer source = new StringBuffer();
                                    String line;
                                    while ((line = bufferedReader.readLine()) != null) {
                                                source.append(line);
                                                source.append("\n");
                                    }
                                    fileReader.close();

                     
                     System.out.println(source);
              DataInputStream dis=new DataInputStream(System.in);
     




   
            FileOutputStream fos=new FileOutputStream("F:\\java\\test.txt");
   
 
   

            System.out.println("Enter to find word");

     
            String find=dis.readLine();

            System.out.println("Enter new word to replace");
            String replace=dis.readLine();

         

        Pattern pattern = Pattern.compile(find);

        Matcher matcher = pattern.matcher(source);

        String output = matcher.replaceAll(replace);

     
        byte[] b=output.getBytes();
        fos.write(b);


        System.out.println("Output = " + output);

    }
}



3. Use inheritance to create an exception super class called EexceptionA and exception sub class ExceptionB and ExceptionC, where ExceptionB inherits from ExceptionA and ExceptionC inherits from ExceptionB. Write a java program to demonstrate that the catch block for type ExceptionA catches exception of type ExceptionB and ExceptionC.

class ExceptionsA{
   static void genException(){
      int num[]= {4,8,16,32,64,128,256};
      int div[]= {2,0,4,4,0,8};
     
      for(int i=0; i<num.length; i++){
         System.out.println(num[i] + "/" +
               div[i] + "is" +
               num[i]/div[i]);
      }
   }
}  
class ExceptionsB extends ExceptionsA{
   ExceptionsB(){
      String zero;
      zero = ("Division by zero not allowed");
   }
}
class ExceptionsC extends ExceptionsB{
   ExceptionsC(){
      String array;
      array = ("Divisor element not found");
   }
}
class ExceptionTest{
   public static void main(String[] args){
      try {
         ExceptionsA.genException();
      }              
      catch (ArithmeticException zero){
         System.out.printf("%s",zero);
      }
      catch (ArrayIndexOutOfBoundsException array){
         System.out.printf("%s",array);
      }//end catch
   }//end class  
}//end method


Week-6

1. Write a java program to convert an ArrayList to an Array.

 
import java.util.*;

class ArrayListToArray

{

    public static void main(String args[])

    {

    ArrayList<String> a=new ArrayList<String>();



    a.add("Gowtham");

    a.add("Gutha's");

    a.add("Java");

    a.add("-");

    a.add("demos");

    a.add(".");

    a.add("blogspot");

    a.add(".");

    a.add("com");



    String st[]=a.toArray(new String[a.size()]);

    

    System.out.println("The elements are");



        for(String k:st)

        System.out.println(k);

    }

}






2. Write a Java Program for waving a Flag using Applets and Threads
//<applet code="Flag.class" height=300 width=300></applet>

//<applet code="Flag1.class" height=300 width=300></applet>
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Flag1 extends Applet implements ActionListener {
Button but = new Button ("click");
double add = 0;
public void init () {
setBackground (Color.white);
add (but);
but.addActionListener (this);
}
public void paint (Graphics g) {
Dimension d = getSize();
int height = d.height, width = d.width;
int x[ ] = new int[2*width], y[ ] = new int[2*width];
for (int color=0; color<3; color++) {
switch(color) {
case 0: g.setColor (Color.orange); break;
case 1: g.setColor (Color.white); break;
case 2: g.setColor (Color.green);
}
// The following 2 lines are actually one:
int size = fillArrays
(x, y, width/8, 3*width/4, (1+color)*height/5, height/5, 5, add);
g.fillPolygon (x, y, size);
}
}
// The following 2 lines are actually one:
int fillArrays
(int h[ ], int v[ ], int xStart, int wd, int yStart, int ht, int step, double extra) {
int count = 0;
// top line of the colour band:
for (int i=xStart; (i<=xStart+wd); i += step) {
h[count] = i;
v[count++] = yStart+(int)(ht*Math.sin(i/(0.2*wd)+extra));
}
int n = count -1;
// The values of the bottom line are not calculated.
// They're equal to to the values of the top line + ht
for (int i=h[count-1]; i>=xStart; i-=step) {
h[count] = i;
v[count++] = v[n--]+ht;
}
return count;
}
public void actionPerformed (ActionEvent evt) {
add += 0.7;
repaint();
}
}


3. Write a Java Program for Bouncing Ball (The ball while moving down has to increase the size and decrease the size while moving up)

import java.awt.*;
import javax.swing.*;
import java.util.ArrayList;
import java.util.List;
 
public class Ball extends JPanel implements Runnable {
 
    List<Ball> balls = new ArrayList<Ball>();   
Color color;
int diameter;
long delay;
private int x;
private int y;
private int vx;
private int vy;
 
public Ball(String ballcolor, int xvelocity, int yvelocity) {
    if(ballcolor == "red") {
        color = Color.red;
    }
    else if(ballcolor == "blue") {
        color = Color.blue;
    }
    else if(ballcolor == "black") {
        color = Color.black;
    }
    else if(ballcolor == "cyan") {
        color = Color.cyan;
    }
    else if(ballcolor == "darkGray") {
        color = Color.darkGray;
    }
    else if(ballcolor == "gray") {
        color = Color.gray;
    }
    else if(ballcolor == "green") {
        color = Color.green;
    }
    else if(ballcolor == "yellow") {
        color = Color.yellow;
    }
    else if(ballcolor == "lightGray") {
        color = Color.lightGray;
    }
    else if(ballcolor == "magenta") {
        color = Color.magenta;
    }
    else if(ballcolor == "orange") {
        color = Color.orange;
    }
    else if(ballcolor == "pink") {
        color = Color.pink;
    }
    else if(ballcolor == "white") {     
        color = Color.white;
    }
    diameter = 30;
    delay = 40;
    x = 1;
    y = 1;
    vx = xvelocity;
    vy = yvelocity;
}
 
protected void paintComponent(Graphics g) {
    super.paintComponent(g);
    Graphics2D g2 = (Graphics2D)g;
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    g.setColor(color);
    g.fillOval(x,y,30,30); //adds color to circle
    g.setColor(Color.black);
    g2.drawOval(x,y,30,30); //draws circle
}
 
public void run() {
    while(isVisible()) {
        try {
            Thread.sleep(delay);
        } catch(InterruptedException e) {
            System.out.println("interrupted");
        }
        move();
        repaint();
    }
}
 
public void move() {
    if(x + vx < 0 || x + diameter + vx > getWidth()) {
        vx *= -1;
    }
    if(y + vy < 0 || y + diameter + vy > getHeight()) {
        vy *= -1;
    }
    x += vx;
    y += vy;
}
 
private void start() {
    while(!isVisible()) {
        try {
            Thread.sleep(25);
        } catch(InterruptedException e) {
            System.exit(1);
        }
    }
    Thread thread = new Thread(this);
    thread.setPriority(Thread.NORM_PRIORITY);
    thread.start();
}
 
public static void main(String[] args) {
    Ball ball1 = new Ball("red",3,2);
    Ball ball2 = new Ball("blue",6,2);
    JFrame f = new JFrame();
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.getContentPane().add(ball1);
    f.getContentPane().add(ball2);
    f.setSize(400,400);
    f.setLocation(200,200);
    f.setVisible(true);
    new Thread(ball1).start();
    new Thread(ball2).start();
}
}



Week-7
1. Write a Java Program for stack operation using Buttons and JOptionPane input and Message dialog box.

import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; public class VisStackApplet extends JApplet implements ActionListener, Runnable { ScrolledPanel visPanel; //Where to paint graphics MyScrollPane msp; Button executeButton; Button historyButton; TextArea userInputText; TextArea history; JFrame historyFrame; JTextField statusLine; MyStack theStack; // The data structure being demonstrated Font stackFont; int cellHeight = 20; // For drawing the stack. int cellWidth = 200; // How wide to plot pink rectangles int cellGap = 4; // vertical space between successive cells int topMargin = 25; // Space above top of stack. int fontSize = 16; // Height of font for displaying stack elemens. int leftMargin = 20; // x value for left side of cells int bottomMargin = 10; // Minimum space betw. bot. of visPanel and bot. of lowest cell. int leftOffset = 5; // space between left side of cell and contents string. int delay = 300; // default is to wait 300 ms between updates. Thread displayThread = null; public void init() { setSize(300,300); // default size of applet. visPanel = new ScrolledPanel(); visPanel.setPreferredSize(new Dimension(400,400)); msp = new MyScrollPane(visPanel); msp.setPreferredSize(new Dimension(400,200)); Container c = getContentPane(); c.setLayout(new BorderLayout()); c.add(msp, BorderLayout.CENTER); JPanel buttons = new JPanel(); buttons.setLayout(new FlowLayout()); JPanel controls = new JPanel(); controls.setLayout(new BorderLayout()); executeButton = new Button("Execute"); executeButton.addActionListener(this); buttons.add(executeButton); historyButton = new Button("History"); historyButton.addActionListener(this); buttons.add(historyButton); userInputText = new TextArea(";Enter commands here."); statusLine = new JTextField(); statusLine.setBackground(Color.lightGray); controls.add(buttons, BorderLayout.WEST); controls.add(userInputText, BorderLayout.CENTER); controls.add(statusLine, BorderLayout.SOUTH); controls.setPreferredSize(new Dimension(400,100)); c.add(controls, BorderLayout.SOUTH); c.validate(); theStack = new MyStack(); stackFont = new Font("Helvetica", Font.PLAIN, 20); history = new TextArea("VisStackApplet history:\n", 20, 40); } class ScrolledPanel extends JPanel { public void paintComponent(Graphics g) { super.paintComponent(g); paintStack(g); } } class MyScrollPane extends JScrollPane { MyScrollPane(JPanel p) { super(p, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); } } class MyStack extends Vector { int n; // number of elements in the stack int npushes; // number of PUSH operations so far. int npops; // number of POP operations so far. void init() { n = 0; npushes = 0; npops = 0; } void push(Object elt) { add(n, elt); n++; npushes++; } Object pop() { if (n == 0) { return null; } Object o = lastElement(); n--; npops++; remove(n); return o; } } public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("Execute")) { displayThread = new Thread(this); displayThread.start(); return; } if (e.getActionCommand().equals("History")) { if (historyFrame == null) { historyFrame = new JFrame("History of the VisStackApplet"); historyFrame.getContentPane().add(history); historyFrame.setSize(new Dimension(300,300)); } historyFrame.show(); System.out.println("Should have displayed the history window"); } } // The following is executed by a separate thread for the display. public void run() { String commands = userInputText.getText(); String line = ""; StringTokenizer lines; for (lines = new StringTokenizer(commands, "\n\r\f"); lines.hasMoreTokens();) { line = lines.nextToken(); process(line); } userInputText.setText(""); // Erase all the processed input. } // Helper function called by the run method above: void process(String command) { String arg = ""; StringTokenizer st = new StringTokenizer(command); if (! st.hasMoreTokens()) { return; } String firstToken = st.nextToken(); if (firstToken.startsWith(";")) { return; } history.appendText(command + "\n"); statusLine.setText(command); if (firstToken.equals("RESET")) { theStack = new MyStack(); updateDisplay(); return; } if (firstToken.equals("SIZE")) { String stats = "Current number of elements: " + theStack.n; statusLine.setText(stats); history.appendText("; " + stats + "\n"); return; } if (firstToken.equals("STATS")) { String stats = "npushes: " + theStack.npushes + "; npops: " + theStack.npops; statusLine.setText(stats); history.appendText("; " + stats + "\n"); return; } if (firstToken.equals("DELAY")) { if (st.hasMoreTokens()) { arg = st.nextToken(); try { delay =(new Integer(arg)).intValue(); } catch(NumberFormatException e) { delay = 0; } statusLine.setText("delay = " + delay); } history.appendText("; delay is now " + delay + "\n"); return; } if (firstToken.equals("PUSH")) { arg = "UNDEFINED ELEMENT"; if (st.hasMoreTokens()) { arg = st.nextToken(); } theStack.push(arg); checkScrolledPanelSize(); updateDisplay(); return; } if (firstToken.equals("POP")) { theStack.pop(); updateDisplay(); return; } history.appendText("[Unknown Stack command]\n"); statusLine.setText("Unknown Stack command: " + command); } // Here is a "middleman" method that updates the display waiting with // the current time delay after each repaint request. void updateDisplay() { visPanel.repaint(); if (delay > 0) { try { Thread.sleep(delay); } catch(InterruptedException e) {} } } // Here is the graphics method to actually draw the stack. // It's called by the ScrolledPanel paintComponent method. void paintStack(Graphics g) { g.setFont(stackFont); g.drawString( "Top of Stack", 10,20); int ystart = theStack.n * (cellHeight + cellGap) + topMargin; int ycentering = (cellHeight - fontSize) / 2; int ypos = ystart; for (Enumeration e = theStack.elements(); e.hasMoreElements();) { String elt = (String) e.nextElement(); g.setColor(Color.pink); g.fillRect(leftMargin, ypos, cellWidth, cellHeight); g.setColor(Color.black); g.drawString(elt, leftMargin + leftOffset, ypos+cellHeight - ycentering); ypos -= (cellHeight + cellGap); } } // The following computes the height of the display area needed by the current // stack, and if it won't fit in the scrolled panel, it enlarges the scrolled panel. // In the current implementation, the panel never gets smaller, even if the stack // becomes empty. This could easily be changed. void checkScrolledPanelSize() { int heightNeeded = topMargin + theStack.n * (cellHeight + cellGap) + cellHeight+ bottomMargin; Dimension d = visPanel.getPreferredSize(); int currentHeight = (int) d.getHeight(); int currentWidth = (int) d.getWidth(); if (heightNeeded > currentHeight) { visPanel.setPreferredSize(new Dimension(currentWidth, heightNeeded)); visPanel.revalidate(); // Adjust the vertical scroll bar. } } }
1.     Write a Java Program to Addition, Division, Multiplication and subtraction using JOptionPane dialog Box and Textfields.
import java.util.*; import javax.swing.*; public class Calculator { public static void main(String[] arg) { String input1,input2,operator; Double operand1,operand2; input1 = JOptionPane.showInputDialog("Enter 1st Value"); operator = JOptionPane.showInputDialog("Enter Operator(+,-,*,%./)"); input2 = JOptionPane.showInputDialog("Enter 2nd Value"); operand1=Double.parseDouble(input1); operand2=Double.parseDouble(input2); double result=0.0; if (operator.equals("+")) result = operand1+operand2; else if(operator.equals("-")) result = operand1-operand2; else if(operator.equals("*")) result = operand1*operand2; else if(operator.equals("/")) result = operand1/operand2; else if(operator.equals("%")) result = operand1%operand2; else JOptionPane.showMessageDialog(null, "Inappropriate Input"); JOptionPane.showMessageDialog(null,"Your results are " + result); } // TODO Auto-generated method stub private static double operand2(double result) { // TODO Auto-generated method stub return 0; } }
Week-8
1. Write a Java Program for the blinking eyes and mouth should open while blinking.
import java.applet.Applet; //<applet code="A.class" width=200 height=200></applet> import java.awt.BorderLayout; import java.awt.Canvas; import java.awt.Color; import java.awt.Graphics; public class A extends Applet { private static final long serialVersionUID = -1152278362796573663L; public class MyCanvas extends Canvas { private static final long serialVersionUID = -4372759074220420333L; private int flag = 0; public void paint(Graphics g) { draw(); } public void draw() { Graphics g = this.getGraphics(); g.setColor(Color.BLACK); super.paint(g); if (flag == 0) { System.out.println(flag); g.drawOval(40, 40, 120, 150);// face g.drawRect(57, 75, 30, 5);// left eye shut g.drawRect(110, 75, 30, 20);// right eye g.drawOval(85, 100, 30, 30);// nose g.fillArc(60, 125, 80, 40, 180, 180);// mouth g.drawOval(25, 92, 15, 30);// left ear g.drawOval(160, 92, 15, 30);// right ear flag = 1; } else { System.out.println(flag); g.drawOval(40, 40, 120, 150);// face g.drawOval(57, 75, 30, 20);// left eye g.drawOval(110, 75, 30, 20);// right eye g.fillOval(68, 81, 10, 10);// left pupil g.fillOval(121, 81, 10, 10);// right pupil g.drawOval(85, 100, 30, 30);// nose g.fillArc(60, 125, 80, 40, 180, 180);// mouth g.drawOval(25, 92, 15, 30);// left ear g.drawOval(160, 92, 15, 30);// right ear flag = 0; } try { Thread.sleep(900); } catch (Exception e) { System.out.println("killed while sleeping"); } this.repaint(100); } } public void init() { this.C = new MyCanvas(); this.setLayout(new BorderLayout()); this.add(C, BorderLayout.CENTER); C.setBackground(Color.GRAY); } private MyCanvas C; }
2. Implement a Java Program to add a new ball each time the user clicks the mouse. Provided a maximum of 20 balls randomly choose a color for each ball.
// <applet code="Ball.class" height=300 width=300></applet>
// Ball.java
// Program bounces a ball around the applet
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Ball extends JApplet
          implements Runnable, MouseListener {
   private Thread blueBall;
   private boolean xUp, yUp, bouncing;
   private int x, y, xDx, yDy;
   public void init()
   {
      xUp = false;
      yUp = false;
      xDx = 1;
      yDy = 1;
      addMouseListener( this );
      bouncing = false;
   }
   public void mousePressed( MouseEvent e )
   {
      if ( blueBall == null ) {
         x = e.getX();
         y = e.getY();
         blueBall = new Thread( this );
         bouncing = true;
         blueBall.start();
      }
   }
   public void stop()
   {
      if ( blueBall != null ) {
         blueBall = null;
      }
   }
   public void paint( Graphics g )
   {
      if ( bouncing ) {
         g.setColor( Color.blue );
         g.fillOval( x, y, 10, 10 );
      }
   }
   public void run()
   {
      while ( true ) {
         try {
            blueBall.sleep( 100 );
         }
         catch ( Exception e ) {
            System.err.println( "Exception: " + e.toString() );
         }
         if ( xUp == true )
            x += xDx;
         else
            x -= xDx;
         if ( yUp == true )
            y += yDy;
         else
            y -= yDy;
         if ( y <= 0 ) {
            yUp = true;           
            yDy = ( int ) ( Math.random() * 5 + 2 );
         }
         else if ( y >= 190 ) {
            yDy = ( int ) ( Math.random() * 5 + 2 );
            yUp = false;
         }
         if ( x <= 0 ) {
            xUp = true;
            xDx = ( int ) ( Math.random() * 5 + 2 );
         }
         else if ( x >= 190 ) {
            xUp = false;
            xDx = ( int ) ( Math.random() * 5 + 2 );
         }
         repaint();
      }
   }
   public void mouseExited( MouseEvent e ) {}
   public void mouseClicked( MouseEvent e ) {}
   public void mouseReleased( MouseEvent e ) {}
   public void mouseEntered( MouseEvent e ) {}    
}
Week-9
1. Suppose that a table named Table.txt is stored in a text file. The first line in the file is the header, and the remaining lines correspond to rows in the table. The elements are separated by commas. Write a java program to display the table using Jtable component
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.event.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
class DataFileTableModel extends AbstractTableModel {
   
    protected Vector data;
    protected Vector columnNames ;
    protected String datafile;
   
    public DataFileTableModel(String f){
        datafile = f;
        initVectors();
    }
   
    public void initVectors() {
       
        String aLine ;
        data = new Vector();
        columnNames = new Vector();
       
        try {
            FileInputStream fin =  new FileInputStream(datafile);
            BufferedReader br = new BufferedReader(new InputStreamReader(fin));
            // extract column names
            StringTokenizer st1 =
                    new StringTokenizer(br.readLine(), ",");
            while(st1.hasMoreTokens())
                columnNames.addElement(st1.nextToken());
            // extract data
            while ((aLine = br.readLine()) != null) {
                StringTokenizer st2 =
                        new StringTokenizer(aLine, ",");
                while(st2.hasMoreTokens())
                    data.addElement(st2.nextToken());
            }
            br.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
   
    public int getRowCount() {
        return data.size() / getColumnCount();
    }
   
    public int getColumnCount(){
        return columnNames.size();
    }
   
    public String getColumnName(int columnIndex) {
        String colName = "";
       
        if (columnIndex <= getColumnCount())
            colName = (String)columnNames.elementAt(columnIndex);
       
        return colName;
    }
   
    public Class getColumnClass(int columnIndex){
        return String.class;
    }
   
    public boolean isCellEditable(int rowIndex, int columnIndex) {
        return false;
    }
   
    public Object getValueAt(int rowIndex, int columnIndex) {
        return (String)data.elementAt( (rowIndex * getColumnCount()) + columnIndex);
    }
   
    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
        return;
    }
}
public class DataFileTable extends JPanel {
    public DataFileTable(String dataFilePath) {
        JTable table;
        DataFileTableModel model;
        Font f;
       
        f = new Font("SanSerif",Font.PLAIN,24);
        setFont(f);
        setLayout(new BorderLayout());
       
        model = new DataFileTableModel(dataFilePath);
       
        table = new JTable();
        table.setModel(model);
        table.createDefaultColumnsFromModel();
       
        JScrollPane scrollpane = new JScrollPane(table);
        add(scrollpane);
    }
   
    public Dimension getPreferredSize(){
        return new Dimension(400, 300);
    }
   
    public static void main(String s[]) {
        JFrame frame = new JFrame("Data File Table");
        DataFileTable panel;
       
        panel = new DataFileTable("table.txt");
       
        frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
        frame.setForeground(Color.black);
        frame.setBackground(Color.lightGray);
        frame.getContentPane().add(panel,"Center");
       
        frame.setSize(panel.getPreferredSize());
        frame.setVisible(true);
        frame.addWindowListener(new WindowCloser());
    }
}
class WindowCloser extends WindowAdapter {
    public void windowClosing(WindowEvent e) {
        Window win = e.getWindow();
        win.setVisible(false);
        System.exit(0);
    }
}
Input
table.txt
Id,Name,City,Phone
101,Beth Reiser,New York,(212)5558725
111,Dylan Ricci,Syracuse,(315)5554486
116,Brian Gugliuzza,Mamaroneck,(914)5553817
120,Gertrude Stein,Elmsford,(914)5553476
131,Daljit Sinnot,Bohemia,(516)5559811
2. Write a program that creates a user interface to perform integer divisions. The user enters two numbers in the text fields, Num1 and Num2. The division of Num1 and Num2 is displayed in the Result field when the Divide button is clicked. If Num1 or Num2 were not an integer, the program would throw a NumberFormatException. If Num2 were Zero, the program would throw an ArithmeticException Display the exception in a message dialog box.
import java.awt.*; import java.awt.event.*; import java.applet.*; /*<applet code="Div"width=230 height=250> </applet>*/ public class Div extends Applet implements ActionListener { String msg; TextField num1,num2,res;Label l1,l2,l3; Button div; public void init() { l1=new Label("Number 1"); l2=new Label("Number 2"); l3=new Label("result"); num1=new TextField(10); num2=new TextField(10); res=new TextField(10); div=new Button("DIV"); div.addActionListener(this); add(l1); add(num1); add(l2); add(num2); add(l3); add(res); add(div); } public void actionPerformed(ActionEvent ae) { String arg=ae.getActionCommand(); if(arg.equals("DIV")) { String s1=num1.getText(); String s2=num2.getText(); int num1=Integer.parseInt(s1); int num2=Integer.parseInt(s2); if(num2==0) { try { System.out.println(" "); } catch(Exception e) { System.out.println("ArithematicException"+e); } msg="Arithemetic"; repaint(); } else if((num1<0)||(num2<0)) { try { System.out.println(""); } catch(Exception e) { System.out.println("NumberFormat"+e); } msg="NumberFormat"; repaint(); } else { int num3=num1/num2; res.setText(String.valueOf(num3)); } } } public void paint(Graphics g) { g.drawString(msg,30,70); } }
Add this images to the files




Week-10
1. Write a Java Program to implement the opening of a door while opening man should present before hut and closing man should disappear.
import javax.swing.*; import java.awt.*; import java.awt.event.*; class Animation extends JFrame implements ActionListener { ImageIcon ii1, ii2; Container c; JButton b1,b2; JLabel lb1; Animation() { c = getContentPane(); c.setLayout(null); ii1 = new ImageIcon("house0.jpg"); ii2 = new ImageIcon("house1.jpg"); lb1 = new JLabel(ii1); lb1.setBounds(50,10,500,500); b1 = new JButton("Open"); b2 = new JButton("Close"); b1.addActionListener(this); b2.addActionListener(this); b1.setBounds(650,240,70,40); b2.setBounds(650,320,70,40); c.add(lb1); c.add(b1); c.add(b2); } public void actionPerformed(ActionEvent ae) { String str = ae.getActionCommand(); if( str.equals("Open") ) lb1.setIcon(ii2); else lb1.setIcon(ii1); } public static void main(String args[]) { Animation ob = new Animation(); ob.setTitle("Animation"); ob.setSize(800,600); ob.setVisible(true); ob.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }

2. Write a Java code by using JtextField to read decimal value and converting a decimal number into binary number then print the binary value in another JtextField
// <applet code="Rottenapplet.class" height=300 width=300></applet>

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
public class rottenapplet extends JApplet implements ActionListener
{
JPanel mainpanel=new JPanel(new GridLayout (3,1));
JPanel p1=new JPanel(new FlowLayout(0));
JPanel p2=new JPanel(new FlowLayout (0));
JPanel p3=new JPanel(new FlowLayout ());
JTextField q1=new JTextField (10);
JTextField q2=new JTextField (10);
JButton clickbutton = new JButton("convert");
public void init()
{
getContentPane().add(mainpanel);
mainpanel.add(p1);
mainpanel.add(p2);
mainpanel.add(p3);
p1.add(new JLabel("Insert Decimal:"));
p1.add(q1);
p2.add(clickbutton);
p3.add(new JLabel("Decimal to Binary:"));
p3.add(q2);
clickbutton.addActionListener(this);
}
public void actionPerformed(ActionEvent x)
{
if(x.getSource()==clickbutton)
{
int counter,dec,user;
user=Integer.valueOf(q1.getText()).intValue();
String[]conversion=new String[8];
String[]complete=new String[4];
counter=0;
complete[0]="";
do
{
dec=user%2;
conversion[counter]=String.valueOf(dec);
complete[0]=conversion[counter]+complete[0];
user=user/2;
counter+=1;
}
while(user !=0);
q2.setText(String.valueOf(complete[user]));
}
}
}
Week-11
1. Write a Java program that works as a simple calculator. Use a grid layout to arrange buttons for the digits and for the +, -,*, % operations. Add a text field to display the result.
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="Cal" width=300 height=300>
</applet>
*/
public class Cal extends Applet
implements ActionListener
{
            String msg=" ";
            int v1,v2,result;
            TextField t1;
            Button b[]=new Button[10];
            Button add,sub,mul,div,clear,mod,EQ;
            char OP;
            public void init()
            {
                        Color k=new Color(120,89,90);
                        setBackground(k);
                        t1=new TextField(10);
                        GridLayout gl=new GridLayout(4,5);
                        setLayout(gl);
                        for(int i=0;i<10;i++)
                        {
                                    b[i]=new Button(""+i);
                        }
                        add=new Button("add");
                        sub=new Button("sub");
                        mul=new Button("mul");
                        div=new Button("div");
                        mod=new Button("mod");
                        clear=new Button("clear");
                        EQ=new Button("EQ");
                        t1.addActionListener(this);
                        add(t1);
                        for(int i=0;i<10;i++)
                        {
                                    add(b[i]);
                        }
                        add(add);
                        add(sub);
                        add(mul);
                        add(div);
                        add(mod);
                        add(clear);
                        add(EQ);
                        for(int i=0;i<10;i++)
                        {
                                    b[i].addActionListener(this);
                        }
                        add.addActionListener(this);
                        sub.addActionListener(this);
                        mul.addActionListener(this);
                        div.addActionListener(this);
                        mod.addActionListener(this);
                        clear.addActionListener(this);
                        EQ.addActionListener(this);
            }
            public void actionPerformed(ActionEvent ae)
            {
                        String str=ae.getActionCommand();
                        char ch=str.charAt(0);
                        if ( Character.isDigit(ch))
                        t1.setText(t1.getText()+str);
                        else
                        if(str.equals("add"))
                        {
                                    v1=Integer.parseInt(t1.getText());
                                    OP='+';
                                    t1.setText("");
                        }
                        else if(str.equals("sub"))
                        {
                                    v1=Integer.parseInt(t1.getText());
                                    OP='-';
                                    t1.setText("");
                        }
                        else if(str.equals("mul"))
                        {
                                    v1=Integer.parseInt(t1.getText());
                                    OP='*';
                                    t1.setText("");
                        }
                        else if(str.equals("div"))
                        {
                                    v1=Integer.parseInt(t1.getText());
                                    OP='/';
                                    t1.setText("");
                        }
                        else if(str.equals("mod"))
                        {
                                    v1=Integer.parseInt(t1.getText());
                                    OP='%';
                                    t1.setText("");
                        }
                        if(str.equals("EQ"))
                        {
                                    v2=Integer.parseInt(t1.getText());
                                    if(OP=='+')
                                                result=v1+v2;
                                    else if(OP=='-')
                                                result=v1-v2;
                                    else if(OP=='*')
                                                result=v1*v2;
                                    else if(OP=='/')
                                                result=v1/v2;
                                    else if(OP=='%')
                                                result=v1%v2;
                                    t1.setText(""+result);
                        }          
                        if(str.equals("clear"))
                        {
                                    t1.setText("");
                        }
            }
}
Output:
2. Write a Java program for handling mouse events.
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="Mouse" width=500 height=500>
</applet>
*/
public class Mouse extends Applet
implements MouseListener,MouseMotionListener
{
            int X=0,Y=20;
            String msg="MouseEvents";
            public void init()
            {
                        addMouseListener(this);
                        addMouseMotionListener(this);
                        setBackground(Color.black);
                        setForeground(Color.red);
            }
            public void mouseEntered(MouseEvent m)
            {
                        setBackground(Color.magenta);
                        showStatus("Mouse Entered");
                        repaint();
            }
            public void mouseExited(MouseEvent m)
            {
                        setBackground(Color.black);
                        showStatus("Mouse Exited");
                        repaint();
            }
            public void mousePressed(MouseEvent m)
            {
                        X=10;
                        Y=20;
                        msg="NEC";
                        setBackground(Color.green);
                        repaint();
            }
            public void mouseReleased(MouseEvent m)
            {
                        X=10;
                        Y=20;
                        msg="Engineering";
                        setBackground(Color.blue);
                        repaint();
            }
            public void mouseMoved(MouseEvent m)
            {
                        X=m.getX();
                        Y=m.getY();
                        msg="College";
                        setBackground(Color.white);
                        showStatus("Mouse Moved");
                        repaint();
            }
            public void mouseDragged(MouseEvent m)
            {
                        msg="CSE";
                        setBackground(Color.yellow);
                        showStatus("Mouse Moved"+m.getX()+" "+m.getY());
                        repaint();
            }
            public void mouseClicked(MouseEvent m)
            {
                        msg="Students";
                        setBackground(Color.pink);
                        showStatus("Mouse Clicked");
                        repaint();
            }
            public void paint(Graphics g)
            {
                        g.drawString(msg,X,Y);
            }
}
Week-12
1. Write a java program establishes a JDBC connection, create a table student with properties name, register number, mark1, mark2, mark3. Insert the values into the table by using the java and display the information of the students at front end.
Import java.awt.*;
Import javax.swing.*;
Import java.sql.*;
Class StudentForm extends JFrame
{
JLable l1,l2,l3,l4,l5,l6,l7;
JTextField t1,t2,t3,t4,t5,t6,t7;
JButton b1,b2;
Connection con;
PreparedStatement insert;
PreparedStatement update;
PreparedStatement delet;
PreparedStatement select;
StudentForm()
{
setSize(355,300);
setLocation(100,100);
Container c=getContentPane();
Title=new JLabel(“Student Details”);
Title.setFont(new Font(“Dialog”,Font.BOLD,15));
l1=new JLable(“Register No”);
l2=new JLable(“Student Name”);
l3=new JLable(“Marks1”);
l4=new JLable(“Marks2”);
l5=new JLable(“Marks3”);
t1=new JTextField(10);
t2=new JTextField(10);
t3=new JTextField(10);
t4=new JTextField(10);
t5=new JTextField(10);
b1=new JButton(“Insert”);
b2=new JButton(“Display”);
c.setLayout(null);
title.setBounds(60,10,160,20);
c.add(title);
l1.setBounds(40,40,50,20);
c.add(l1);
t1.setBounds(95,40,108,20);
c.add(t1);
l2.setBounds(40,70,50,20);
c.add(l2);
t2.setBounds(95,70,108,20);
c.add(t2);
l3.setBounds(40,100,50,20);
c.add(l3);
t3.setBounds(95,100,108,20);
c.add(t3);
b1.setBounds(10,140,65,40);
c.add(b1);
b2.setBounds(77,140,65,40);
c.add(b2);
//b3.setBounds(144,140,65,40);
//c.add(b3);
//b4.setBounds(211,140,65,40);
//c.add(b4);
Info=new Label(“Getting connected to the database”);
Info.setFont(new Font(“Dialog”,Font.BOLD,15));
Info.setBounds(20,190,330,30);
c.add(info);
b1.addActionListener(new InsertListener());
b2.addActionListener(new DisplayListener());
setVisible(true);
getConnection();
}
Void getConnection()
{
try
{
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
String url=”jdbc:odbc:student”;
Con=DriverManager.getConnection(url,”scott”,”tiger”);
Info.setText(“Connection is established with the database”);
insertps=con.prepareStatement(“Insert into student values(?,?,?,?,?)”);
selectps=con.prepareStatement(“select * from student where studentno=?”);
}
Catch(ClassNotFoundExceptoin e)
{
System.out.println(“Driver class not found….”);
System.out.println(e);
}
Catch(SQLExceptoin e)
{
Info.setText(“Unable to get connected to the database”);
}
}
Class insertListener implements ActionListener
{
Public void actionPerformed(ActionEvent e)
{
Try
{
Int sno=Integer.parseInt(t1.getText());
String name=t2.getText();
Int m1= Integer.parseInt(t3.getText());
Int m2=Integer.parseInt(t1.getText());
Int m3=Integer.parseInt(t1.getText());
Insertps.setInt(1,sno);
Insertps.setString(2,name);
Insertps.setInt(3,m1);
Insertps.setInt(4,m2);
Insertps.setInt(5,m3);
Insertps.executeUpdate();
Info.setText(“One row inserted successfully”);
Insertps.clearParameters();
T1.setText(“”);
T2.setText(“”);
T3.setText(“”);
T4.setText(“”);
T5.setText(“”);
}
Catch(SQLException se)
{
Info.setText(“Failed to insert a record…”);
}
Catch(Exception de)
{
Info.setText(“enter proper data before insertion….”);
}
}
}
Class DisplayListener implements ActionListener
{
Public void actionPerformed(ActionEvent e)
{
            Try
            {
                        Int sno=Integer.parseInt(t1.getText());
                        Selectps.setInt(1,sno);
                        Selectps.execute();
                        ResultSet rs=selectps.getResultSet();
                        rs.next();
                        t2.setText(rs.getString(2));
                        t3.setText(“”+rs.getFloat(3));
                        info.setText(“One row displayed successfully”);
                        selectps.clearPameters();
            }
            Catch(SQLException se)
            {
            Info.setText(“Failed to show the record…”);
            }
            Catch(Exception de)
{
Info.setText(“enter proper student no before selecting show..”);
}
}
}
Public static void main(String args[])
{
New StudentForm();
}
}