Program1: Write a Java program that prints all real solutions to the quadratic equation ax2 + bx + c = 0.

Read in a, b, c and use the quadratic formula. If the discriminant b2 -4ac is negative, display a message stating that there are no real solutions. import javax.swing.JOptionPane; import java.io.*; class Solution { private int a,b,c,desc; private double r1,r2; public void solve() { desc=b*b-4*a*c; if(desc>0) { r1=(-b+Math.sqrt(desc))/(2*a); r2=(-b-Math.sqrt(desc))/(2*a); JOptionPane.showMessageDialog(null,"roots are"+r1+" "+r2,"Message",JOptionPane.INFORMATION_MESSAGE); } else if(desc==0) { r1=r2=(-b+Math.sqrt(desc))/(2*a); JOptionPane.showMessageDialog(null,"roots are"+r1+" "+r2,"Message",JOptionPane.INFORMATION_MESSAGE); } else { JOptionPane.showMessageDialog(null,"there are no real solutions","Message",JOptionPane.INFORMATION_MESSAGE); } } public void input() { String n1,n2,n3; n1=JOptionPane.showInputDialog("enter a value"); n2=JOptionPane.showInputDialog("enter b value"); n3=JOptionPane.showInputDialog("enter c value"); a=Integer.parseInt(n1); b=Integer.parseInt(n2); c=Integer.parseInt(n3); } } class Quadratic { public static void main(String[] args) { Solution s=new Solution(); s.input();

s.solve(); } } Program2: The Fibonacci sequence is defined by the following rule: The fist two values in the sequence are 1 and 1. Every subsequent value is the sum of the two values preceding it. Write a Java program that uses both recursive and non recursive functions to print the nth value in the Fibonacci sequence import javax.swing.JOptionPane; import java.io.*; class Fibo { public static void main(String[] args) { int x1=1,x2=1,x3=0,n; String N=JOptionPane.showInputDialog("enter n value"); n=Integer.parseInt(N); JOptionPane.showMessageDialog(null,"n` value is"+n,"Message",JOptionPane.INFORMATION_MESSAGE); while((n-2)>0) { x3=x1+x2; x1=x2; x2=x3; n--; } JOptionPane.showMessageDialog(null,"nth value in sequence is"+x3,"Message",JOptionPane.INFORMATION_MESSAGE); } } import java.io.*; class Fibo1 { int x1=1,x2=1,x3,n=8; int sequence(int x1,int x2) { if(n==2) return 0; else { x3=x1+x2; x1=x2;x2=x3; n--; sequence(x1,x2); return x3; } } }

class Fibo { public static void main(String[] args) { Fibo1 f=new Fibo1(); int res=f.sequence(1,1); System.out.println(res); } } Program3: Write a Java program that prompts the user for an integer and then prints out all prime numbers up to that integer. import javax.swing.JOptionPane; import java.io.*; class Prime1 { public static void main(String[] args) throws IOException { String N; int i,j,count=0,n; String output="prime numbers are"; N=JOptionPane.showInputDialog("enter n value"); n=Integer.parseInt(N); for(i=1;i<=n;i++) { count=0; for(j=1;j<=i;j++) { if(i%j==0) count++; } if(count==2) output=output+" "+i; } JOptionPane.showMessageDialog(null,output,"Message",JOptionPane.INFORMATION_MESSAGE); } } Program4: Write a Java program to multiply two given matrices. class matrixmul { public static void main(String[] args) { int A[][]=new int[10][10];

int B[][]=new int[10][10]; int C[][]=new int[10][10]; int i,j,k; A[0][0]=2; A[0][1]=3; A[1][0]=4; A[1][1]=5; B[0][0]=1; B[0][1]=2; B[1][0]=3; B[1][1]=4; C[0][0]=0; C[0][1]=0; C[1][0]=0; C[1][1]=0; for(i=0;i<=1;i++) { for(j=0;j<=1;j++) { for(k=0;k<=1;k++) { C[i][j]=C[i][k]+(A[i][k]*B[k][j]); } } } for(i=0;i<=1;i++) { for(j=0;j<=1;j++) { System.out.println(C[i][j]); } } } } Program5: Write a Java Program that reads a line of integers, and then displays each integer, and the sum of all the integers (Use StringTokenizer class of java.util) import java.util.*; class sample { public static void main(String[] args) { int i,sum=0; String s=new String("1 2 3 4 5 6 7 8 9"); char A[]=s.toCharArray(); StringTokenizer t=new StringTokenizer(s); System.out.println(t.countTokens()); while(t.hasMoreTokens())

{ System.out.println(t.nextToken()); } for(i=0;i<s.length();i++) { if(A[i]!=' ') sum=sum+(A[i]-'0'); } System.out.println(sum); } } Program6: Write a Java program that checks whether a given string is a palindrome or not. Ex: MADAM is a palindrome. class samplr { public static void main(String[] args) { int i,j, f=0; char a[]=args[0].toCharArray(); for(i=0,j=args[0].length()-1;i<args[0].length();i++,j--) { if(a[i]!=a[i]) { System.out.println("not palindrome\n"); f=1; break; } } if(f==0) System.out.println("palindrome\n"); } } Program7: Write a Java program for sorting a given list of names in ascending order. class ascending { public static void main(String[] args) { int i,j; string temp; for(i=0;i<4;i++) { for(j=i+1;j<5;j++) { if(args[i].compareTo(args[j])>0)

{ temp=args[i]; args[i]=args[j]; args[j]=temp; } } } for(i=0;i<5;i++) { System.out.println(args[i]); } } } Program8: Write a Java program to make frequency count of words in a given text. class sample5 { public static void main(String[] args) { String s=new String("welcome to all"); int w=1,i; char a[]=s.toCharArray(); for(i=0;i<s.length(); i++) { if(a[i]==' ' && a[i+1]!= ' ') w++; } System.out.println(w); } } Program9: Write a Java program that reads a file name from the user, then displays information about whether the file exists, whether the file is readable, whether the file is writable, the type of file and the length of the file in bytes. import java.io.*; class sample11 { public static void main(String[] args) { try { File f=new File(args[0]); System.out.println(f.exists()?"file is exist":"file is not exist"); System.out.println(f.canRead()?"file is readable":"file is not readable"); System.out.println(f.canWrite()?"file is Writable":"file is not writable"); System.out.println(f.isFile()?"it is file":"it is not a file");

System.out.println(f.isDirectory()?"it is directory":"it is not directory"); System.out.println(f.length()); } catch(Exception e) { System.out.println(e.getMessage()); System.out.println("file is not exist"); } } } Program10: Write a Java program that reads a file and displays the file on the screen, with a line number before each line. import java.io.*; class sample10 { public static void main(String[] args) { try { FileInputStream f=new FileInputStream(args[0]); int lno=1; char ch; System.out.print(lno++); while(f.available()>0) { ch=(char)f.read(); System.out.print(ch); if(ch=='\n') System.out.print(lno++); } f.close(); } catch(Exception e) { System.out.println("file not found\n"); } } } Program11: Write a Java program that displays the number of characters, lines and words in a text file. import java.io.*; class line { public static void main(String[] args) {

try { FileInputStream f=new FileInputStream(args[0]); int l=1,w=1,c=0; char ch; while(f.available()>0) { ch=(char)f.read(); if(ch=='\n') l++; if(ch==' '&&f.read()!=' ') { c++; w++; } c++; } f.close(); System.out.println(l); System.out.println(w); System.out.println(c); } catch(Exception e) { System.out.println("no file is found\n"); } } } Program12: Write a Java program that: i) Implements stack ADT. ii) Converts infix expression into Postfix form iii) Evaluates the postfix expression i)import java.util.*; class sample6 { public static void main (String[] args) { Stack s= new Stack(); int i; for(i=0;i<5;i++) { s.push(args[i]); } System.out.println(s); while(!s.empty()) { System.out.println(s.pop());

} } } ii) import java .util.*; class sample7 { public static void main(String[] args) { Stack s= new Stack(); int i; char a[]= args[0].toCharArray(); for(i=args[0].length()-1;i>=0; i--) { if(a[i]=='+'|| a[i]=='-'||a[i]=='*'||a[i]=='/') s.push(a[i]); } for(i=args[0].length()-1;i>=0; i--) { if(a[i]>='0' && a[i]<='9') s.push(a[i]); } while(!s.empty()) { System.out.println(s.pop()); } } } iii) import java.util.*; class sample8 { public static void main(String[] args) { Stack s=new Stack(); char a[]=args[0].toCharArray(); int i,m,n; for(i=args[0].length()-1;i>=0;i--) { if(a[i]>='0'&& a[i]<='9') s.push(a[i]); } for(i=args[0].length()-1;i>=0;i--) { if(a[i]=='+') { m=Integer.parseInt(s.pop().toString()); n=Integer.parseInt(s.pop().toString());

s.push(m+n); } else if(a[i]=='-') { m=Integer.parseInt(s.pop().toString()); n=Integer.parseInt(s.pop().toString()); s.push(m-n); } else if(a[i]=='*') { m=Integer.parseInt(s.pop().toString()); n=Integer.parseInt(s.pop().toString()); s.push(m*n); } else if(a[i]=='/') { m=Integer.parseInt(s.pop().toString()); n=Integer.parseInt(s.pop().toString()); s.push(m/n); } else System.out.println("invalid operator"); } System.out.println(s.pop()); } } Program13: Develop an applet that displays a simple message. import java.applet.*; import java.awt.*; /*<applet code="sample17" width=400 height=400> </applet>*/ public class sample17 extends Applet { public void paint(Graphics g) { g.drawString("welcome to Applets",100,200); } } Program14: Develop an applet that receives an integer in one text field, and computes its factorial Value and returns it in another text field, when the button named “Compute” is clicked. import java.awt.*; import java.applet.*; import java.awt.event.*;

/*<applet code="sample19" width=800 height=800> </applet>*/ public class sample19 extends Applet implements ActionListener { TextField t, t1; int n, fact=1,i; Button b; public void init() { t=new TextField("5"); t1=new TextField(); b=new Button("compute"); add(t); add(t1); add(b); b.addActionListener(this); } public void actionPerformed(ActionEvent ae) { if(ae.getSource()==b) { n=Integer.parseInt(t.getText()); for(i=1;i<=n;i++) { fact=fact*i; } t1.setText(fact+" "); } } } Program15: 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.applet.*; import java.awt.*; import java.awt.event.*; /*<applet code="calculator" width=800 height=800> </applet>*/ public class calculator extends Applet implements ActionListener { GridLayout g; TextField t; Button b,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15; int j,k=0; String str="",Flag=""; public void init() {

b14.addActionListener(this); b15.addActionListener(this); } public void actionPerformed(ActionEvent ae) { str=ae.getActionCommand(); if(str.equals("1")) { k=(k*10)+1; t.setText(k+""); } if(str.equals("2")) { k=(k*10)+2; t.setText(k+""); } if(str.equals("3")) { k=(k*10)+3; t.setText(k+""); } if(str.equals("4")) { k=(k*10)+4; t.setText(k+""); } if(str.equals("5")) { k=(k*10)+5; t.setText(k+""); } if(str.equals("6")) { k=(k*10)+6; t.setText(k+""); } if(str.equals("7")) { k=(k*10)+7; t.setText(k+""); } if(str.equals("8")) { k=(k*10)+8; t.setText(k+""); } if(str.equals("9")) { k=(k*10)+9; t.setText(k+"");

} if(str.equals("0")) { k=(k*10)+0; t.setText(k+""); } if(str.equals("+")) { t.setText("+"); if(Flag.equals("+")) { j=j+k; } else if(Flag.equals("-")) { j=j-k; } else if(Flag.equals("*")) { j=j*k; } else if(Flag.equals("/")) { j=j/k; } else if(Flag.equals("=")) { j=j; } else { j=k; Flag="+"; } k=0; Flag="+"; } if(str.equals("-")) { t.setText("-"); if(Flag.equals("+")) { j=j+k; } else if(Flag.equals("-")) { j=j-k; } else if(Flag.equals("*")) {

j=j*k; } else if(Flag.equals("/")) { j=j/k; } else if(Flag.equals("=")) { j=j; } else { j=k; Flag="-"; } k=0; Flag="-"; } if(str.equals("*")) { t.setText("*"); if(Flag.equals("+")) { j=j+k; } else if(Flag.equals("-")) { j=j-k; } else if(Flag.equals("*")) { j=j*k; } else if(Flag.equals("/")) { j=j/k; } else if(Flag.equals("=")) { j=j; } else { j=k; Flag="*"; } k=0; Flag="*"; } if(str.equals("/"))

{ t.setText("/"); if(Flag.equals("+")) { j=j+k; } else if(Flag.equals("-")) { j=j-k; } else if(Flag.equals("*")) { j=j*k; } else if(Flag.equals("/")) { j=j/k; } else if(Flag.equals("=")) { j=j; } else { j=k; Flag="/"; } k=0; Flag="/"; } if(str.equals("c")) { k=0; j=0; Flag=""; t.setText(""); } if(str.equals("=")) { t.setText("="); if(Flag.equals("+")) { j=j+k; t.setText(j+""); } if(Flag.equals("-")) { j=j-k; t.setText(j+""); }

if(Flag.equals("*")) { j=j*k; t.setText(j+""); } if(Flag.equals("/")) { j=j/k; t.setText(j+""); } k=0; Flag="="; } repaint(); } } Program16: Write a Java program for handling mouse events import java.awt.*; import java.applet.*; import java.awt.event.*; /*<applet code="sample20" width=800 height=800> </applet>*/ public class sample20 extends Applet implements MouseListener { public void init() { addMouseListener(this); } public void mouseClicked(MouseEvent me) { setBackground(Color.red); } public void mousePressed(MouseEvent me) { setBackground(Color.green); } public void mouseEntered(MouseEvent me) { setBackground(Color.blue); } public void mouseExited(MouseEvent me) { setBackground(Color.pink); } public void mouseReleased(MouseEvent me) {

setBackground(Color.yellow); } } Program17: 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 “Welcome” every three seconds. class sample18 implements Runnable { try { Thread t; public sample18(String name) { t=new Thread(this,name); t.start(); } public void run() { int i; if(t.getName().compareTo("demo")==0) { for(i=1;i<=10;i++) { System.out.println("good morning:"); t.sleep(1000); } } if(t.getName().compareTo("demo1"==0) { for(i=1;i<=10;i++) { System.out.println("hello:"); t.sleep(2000); } } } } catch(Exception e) { System.out.println(e.getMessage()); } public static void main(String[] args) { try { sample18 s=new sample18("demo");

sample18 s1=new sample18("demo1"); int i; for(i=1;i<=10;i++) { System.out.println("welcome"); Thread.sleep(3000); } } catch(Exception e) System.out.println(e.getMessage()); } } } Program18: Write a Java program that correctly implements producer consumer problem using the concept of inter thread communication. class comm { int num; synchronized void produce() { num=1; System.out.println("produced data:"+num); try { wait(); } catch(Exception e) { } } synchronized void consumer() { System.out.println("consumed data:"+num); notify(); } } class sample extends Thread { comm c1; public sample(comm c,String name) { super(name); c1=c; start(); }

public void run() { c1.produce(); } } class consumer extends Thread { comm c1; public consumer(comm c,String name) { super(name); c1=c; start(); } public void run() { c1.consumer(); } public static void main(String[] args) { comm c2=new comm(); sample s=new sample(c2,"producer"); consumer c5=new consumer(c2,"consumer"); } } Program19: Write a program that creates a user interface to perform integer divisions. The user enters two numbers in the textfields, 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 javax.swing.*; import java.awt.*; import java.awt.event.*; /*<applet code="messagedb" width=800 height=800> </applet>*/ public class messagedb extends JApplet implements ActionListener { JTextField t1,t2,t3; JLabel l1,l2,l3; JButton b; Container c; public void init() { l1=new JLabel("Num1"); l2=new JLabel("Num2");

l3=new JLabel("result"); t1=new JTextField(10); t2=new JTextField(10); t3=new JTextField(10); b=new JButton("Divide"); c=getContentPane(); setLayout(new FlowLayout(FlowLayout.LEFT)); c.add(l1); c.add(l2); c.add(l3); c.add(t1); c.add(t2); c.add(t3); c.add(b); b.addActionListener(this); } public void actionPerformed(ActionEvent ae) { try { String s=ae.getActionCommand(); int x,y; double z; if(s.equals("Divide")) { x=Integer.parseInt(t1.getText()); y=Integer.parseInt(t2.getText()); z=x/y; t3.setText(z+""); } } catch(NumberFormatException e) { JOptionPane.showMessageDialog(null,e.getMessage()); } catch(ArithmeticException e) { JOptionPane.showMessageDialog(null,e.getMessage()); } } } Program20: Write a Java program that implements a simple client/server application. The client sends data to a server. The server receives the data, uses it to produce a result, and then sends the result back to the client. The client displays the result on the console. For ex: The data sent from the client is the radius of a circle, and the result produced by the server is the area of the circle. (Use java.net)