COMPUTER
PRACTICAL
FILE
CHITRANSH
SHARMA
11-A
2024-2025
PREFACE
The primary focus of this project is to
design, develop, and implement computer
programs that demonstrate the core concepts
of Java, such as object-oriented
programming, exception handling,
multithreading, data structures, and graphical
user interfaces. The project also emphasizes
writing clean, modular, and efficient code
while adhering to best practices in software
development.
It is a great pleasure for me that I was
given the opportunity to make this project. I
thank all those valuable suggestions that
have been given to me. I must thank the
almighty for this inspiration and guidance as
well as my parents and teachers who directed
me to complete this practical file work.
ACKNOWLEDGEMENT
I , Chitransh Sharma , would like to extend
my sincere and heartfelt gratitude to my computer
science teacher Mr. P Chaudhary who has helped
me in this endeavor and has always been
cooperative and without his help, cooperation,
guidance and encouragement, the file couldn’t
have been what it evolved to be.
I extend my heartfelt thanks to my faculty for their
guidance and constant supervision, as well as, for
providing me the necessary information regarding
the practical file.
I am also thankful to my parents for their
cooperation and encouragement and for helping
me complete this practical file within a limited
time frame.
S. Programs Page No.
No.
1 All the longest and shortest word in a sentence 1
2 Convert each word of a string in Piglatin 4
Using StringTokenizer print number of words along with longest and
3 shortest word 7
Twin Prime pair nearest to a given integer
4 9
Menu driven program for all recursive functions
5 12
6 Armstrong Number 19
7 Happy Number 21
8 Smith Number 23
9 Kaprekar Number 26
10 Disarium Number 28
11 Keith Number 31
12 Rats Sequence 34
13 Matrix Multiplication 36
14 Spiral Matrix 40
15 Magic Square 42
INDEX
Question 1
All the longest and shortest word in a sentence
import java.util.*; public
class long_short_all
{
String longest(String s)
{
String l="";
StringTokenizer st=new StringTokenizer(s);
while(st.hasMoreTokens())
{
String w=st.nextToken();
if(l.length()<w.length())
l=w;
} return
l;
}
String shortest(String s)
{
String l=s;
StringTokenizer st=new StringTokenizer(s);
while(st.hasMoreTokens())
{
String w=st.nextToken();
if(l.length()>w.length())
l=w;
} return
l;
} void print(String
s)
{
String l="",sh="";
1
tringTokenizer st=new StringTokenizer(s);
while(st.hasMoreTokens())
{
String w=st.nextToken();
if(w.length()==longest(s).length())
l+=w+" ";
if(w.length()==shortest(s).length())
sh+=w+" ";
}
System.err.println("All Longest words are"+l);
System.out.println("All shortest words
"+sh); } public static void main(String args[])
{
Scanner in=new Scanner(System.in);
System.out.println("Enter a string : ");
String s=in.nextLine();
long_short_all obj=new long_short_all();
obj.print(s);
}
}
2
Output
Enter a string :
ANAMIKA AND SUSAN ARE NEVER GOING TO QUARREL
ANYMORE
All Longest words are : ANAMIKA QUARREL ANYMORE
All shortest words are : TO
3
Question 2
Convert each word of a string in Pig Latin
import java.util.*;
importPiglatin
class java.util.*;
{class Piglatin
{ String Pig(String w)
{String Pig(String
int k=0; for(int w)i=0 ; i<w.length()
{ int k=0; for(int i=0 ; i<w.length()
; i++)
{; char
i++) c=w.charAt(i);
{ char c=w.charAt(i);
if("AEIOUaeiou".indexOf(c)!=-
if("AEIOUaeiou".indexOf(c)!=-1)
1)
{{ k=i;break;
k=i;break;
}}
}}
return w.substring(k)+w.substring(0,k)+"ay";
return w.substring(k)+w.substring(0,k)+"ay";
}
}void print(String s){
void print(String
StringTokenizer s) StringTokenizer(s);
st=new
{
while(st.hasMoreTokens()){
StringTokenizer st=new StringTokenizer(s);
while(st.hasMoreTokens())
String w=st.nextToken();
{ System.out.print(Pig(w)+" ");
} String w=st.nextToken();
} System.out.print(Pig(w)+" ");
}
}
public static void main(String args[])
{
public static
Scanner void Scanner(System.in);
in=new main(String args[])
{ System.out.print("Enter a string : ");
Scanners=in.nextLine();
String in=new Scanner(System.in);
System.out.print("Enter
latin obj=new Piglatin(); a string : ");
String s=in.nextLine();
System.out.println();
obj.print(s);
} }
}
4
Output
Enter a string : Today is a beautiful day
odayTay isay aay eautifulbay ayday
5
Question 3
Using StringTokenizer print number of words along
with longest and shortest word
import java.util.*;
class long_short
{ void print(String s)
{
String l="", sh=s;
StringTokenizer st=new StringTokenizer(s);
System.out.println("No. of words :"+st.countTokens());
while(st.hasMoreTokens())
{
String w=st.nextToken();
if(l.length()<w.length())
l=w;
if(sh.length()>w.length())
sh=w;
}
System.out.println("Longest word:"+l+"\nShortest
word :"+sh);
} public static void main(String args[])
{
Scanner in=new Scanner(System.in);
long_short obj=new long_short();
System.out.print("Enter a string : ");
String s=in.nextLine();
System.out.println();
obj.print(s);
}
}
6
Output
Enter a string : Today is a beautiful day
No. of words : 5
Longest word : beautiful
Shortest word : a
7
Question 4
Program to print Twin Prime pair nearest to a
given integer
import java.util.*;
class TwinPrime
{ boolean isPrime(int n)
{ int c=0;
for(int i=2 ; i<=n/2 ; i++)
if(n%i==0) c++;
return c==0;
} void print(int
n)
{
int k=0 , t=0;
if(isPrime(n-1)&&isPrime(n+1))
System.out.println((n-1)+" , "+(n+1));
else
{
for(int i=n ; i>2 ; i--)
{ if(isPrime(i)&&isPrime(i-2))
{ k=i;
break;
}
}
for(int i=n ; ; i++)
{ if(isPrime(i) && isPrime(i+2))
{ t=i;
break;
}
}
System.out.println("Nearest TwinPrime pair is: ");
if(n-k<t-n){
8
System.out.println((k-2)+" , "+k); if(n-
k>t-n)
System.out.println(t+" , "+(t+2)); if(n-
k==t-n)
System.out.println(k+","+(k-2)+" &
"+t+","+(t+2));
}
}
public static void main(String args[])
{
TwinPrime obj=new TwinPrime();
Scanner in=new Scanner(System.in);
System.out.println("Enter an integer");
int n=in.nextInt(); obj.print(n);
}
}
9
Output
Enter an integer : 12
Nearest Twin Prime pair is : 11 , 13
10
Question 5
Menu driven program for all recursive functions
import java.util.*;
class Rec
{ int hcf(int x, int y)
{if(x==y) return y;
if(x>y) return hcf(x-y y);
return hcf(x,y-x);
}
double power(int x, int y)
{if(y==0) return 1.0;
if(y>0)
return x*power(x,y-1);
return (1.0/x)*power(x,y+1);
}int pro(int x, int y)
{ if(y==0) return 0;
if(y>0) return x+pro(x,y-1);
return -x+pro(x,y+1);
}int reverse(int x)
{if(x<10) return x;
return
x%10*(int)(Math.pow(10,(x+"").length()-1))+reverse(x/1
0);
}
String reverse(String s)
{ if(s.length()<=1)
return s+"";
return reverse(s.substring(1))+s.charAt(0);
}int fact(int x)
{if(x==0) return 1;
if(x>0) return x*fact(x-1);
return -x*fact(x+1);
11
}int sum(int x)
{if(x==0) return x;
if(x>0)
return x+sum(x-1);
return x+sum(x+1);
}
String Pig(String w)
{int k=0; for(int i=0 ; i<w.length() ;i++)
{ char c=w.charAt(i);
if("AEIOUaeiou".indexOf(c)!=-1)
{ k=i;break;
} }
return w.substring(k)+w.substring(0,k)+"ay";
}
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
Rec obj=new Rec();
while(true)
{
System.out.println("S : String\nI :Integers\nE :
Exit");
String s=in.next(); if("Ss".indexOf(s)!=-1)
{
while(true)
{
System.out.println("1 : Reverse the string\n2 :
Piglatin\n3 : Exit");
int c=in.nextInt();
switch(c)
{
case 1 :
12
in.nextLine();
System.out.println("Enter a String");
String s1=in.nextLine();
System.out.println(obj.reverse(s1));
break;
case 2 :
in.nextLine();
System.out.println("Enter word");
String w=in.next();
System.out.println(obj.Pig(w));
break;
case 3 :
System.out.println("THANK YOU!!"); break ; default :
System.out.println("INVALID INPUT");
break;
}
}
}
else if("Ii".indexOf(s)!=-1)
{
while(true)
{ int x,y;
System.out.println("1 : HCF\n2 :Power\n3 : Product\n4
Reverse\n5 : Factorial\n6 :Sum of natural numbers\n7 :
Exit"); byte c=in.nextByte();
switch(c)
{
case 1 :
System.out.println("Enter 2integers");
x=in.nextInt();
break; case 2 : y=in.nextInt();
System.out.println("HCF :"+obj.hcf(x,y));
System.out.println("Enter 2 integers"); x=in.nextInt();
break; case 2 :
y=in.nextInt();
System.out.println("Power :"+obj.power(x,y));
break; 13
case 3 :
System.out.println("Enter 2 integers"); x=in.nextInt();
System.out.println("Enter 2 integers"); x=in.nextInt();
y=in.nextInt();
System.out.println("Power :"+obj.power(x,y));
break;
case 3 :
System.out.println("Enter 2 integers"); x=in.nextInt();
y=in.nextInt();
System.out.println("Product :"+obj.pro(x,y));
break;
case 4 :
System.out.println("Enter an integer"); x=in.nextInt();
System.out.println("Reverse :"+obj.reverse(x));
break;
case 5 :
System.out.println("Enter an integer"); x=in.nextInt();
System.out.println("Factorial: "+obj.fact(x));
break;
case 6 :
System.out.println("Enter an integer"); x=in.nextInt();
System.out.println("Sum of natural number till "+x+" :
"+obj.sum(x)) ; break; case 7 :
System.out.println("THANK YOU!!"); break p;
default :
System.out.println("INVALID INPUT");
break p;
}}
else if("Ee".indexOf(s)!=-1)
{
System.out.println("THANK YOU!!"); break pk;
}
else
Output
14
S : String
I : Integers
E : Exit
s 1 : Reverse the
string
2 : Piglatin
3 : Exit
2
Enter word
Sky
Skyay
1 : Reverse the string
2 : Piglatin
3 : Exit
3
THANK YOU!!
S : String
I : Integers
E : Exit
i
1 : HCF
2 : Power
3 : Product
4 : Reverse
5 : Factorial
6 : Sum of natural numbers
7 : Exit
1
Enter 2 integers
5
15
20
HCF : 5
1 : HCF
2 : Power
3 : Product
4 : Reverse
5 : Factorial
6 : Sum of natural numbers
7 : Exit
7
THANK YOU!!
S : String
I : Integers
E : Exit
THANK YOU!!
16
Question 6
Armstrong Number
import java.util.*;
class armstrong
{ boolean check(int n)
{ int num=n;
int l=(num+"").length(); int
sum=0; while(n!=0)
{ int d=n%10; sum+=(int)
(Math.pow(d,l)); n/=10; }
return sum==num;
}void print(int n)
{ if(check(n))
System.out.println(n+" is an Armstrong Number");
else
System.out.println(n+" is NOT an Armstrong Number"); }
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
armstrong obj=new armstrong();
System.out.print("Enter an Integer :");
int l=in.nextInt(); obj.print(l);
}
}
17
Output
Enter an Integer : 16
16 is NOT an Armstrong Number
Enter an Integer : 153
153 is an Armstrong Number
18
Question 7
Happy Number
import java.util.*;
class Happy
{ int[] num(int n)
{ int arr[]=new int[(n+"").length()];
for(int i=0 ; i<arr.length ; i++)
{ arr[arr.length-1-i]=n%10;
n/=10; } return arr;
}
boolean isHappy(int n)
{ int sum=n ;
if(sum<10)
sum=sum*sum;
while(sum>9)
{ int arr[]=num(sum); sum=0; for(int
i=0 ; i<arr.length ; i++)
{ sum+=arr[i]*arr[i];
} }
return sum==1;
}
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
System.out.print("Enter an integer : ");
int n=in.nextInt(); Happy obj=new Happy();
if(obj.isHappy(n))
System.out.println(n+" is a HAPPYNumber");
else
System.out.println(n+" is NOT a Happy Humber"); }
}
19
Output
Enter an integer : 28
28 is a HAPPY Number
Enter an integer : 25
25 is NOT a Happy Humber
20
Question 8
Smith Number
import java.util.*;
import java.util.*;
public class Smith
public class Smith
{ int sumOfDigits(int n)
{ int sumOfDigits(int n)
{ int sum=0 ;
{ int sum=0 ;
While(n!=0)
while(n!=0)
{ int d=n%10;
{ int d=n%10;
sum+=d;
sum+=d;
n/=10; } return
n/=10; } return
sum;
sum;
}
}
int primeFactorsSum(int n)
int primeFactorsSum(int n)
{ int sum=0, f=2;
{ int sum=0, f=2;
while(n>1)
while(n>1)
{ if(n%f==0)
{ if(n%f==0)
{ sum+=sumOfDigits(f);
{ sum+=sumOfDigits(f);
n/=f; } else f++;
n/=f; } else f++;
} return sum;
}
}
return sum;
boolean isSmith(int n)
}
{ return sumOfDigits(n)==primeFactorsSum(n);
boolean isSmith(int n)
}
{ return sumOfDigits(n)==primeFactorsSum(n);
public static void main(String[] args) {
}
Scanner in=new Scanner(System.in);
public static void main(String[] args) {
Smith obj=new Smith();
Scanner in=new Scanner(System.in);
System.out.print("Enter a number : ");
Smith obj=new Smith();
int n=in.nextInt(); if(obj.isSmith(n))
System.out.print("Enter a number : ");
System.out.println(n+" is a Smith
int n=in.nextInt(); if(obj.isSmith(n))
number");
System.out.println(n+" is a Smith
else
number");
System.out.println(n+" is Not a Smith the number");
else
}
}
21
Output
Enter a number : 58
58 is a Smith number
Enter a number : 15
15 is Not a Smith number
22
Question 9
Kaprekar Number
import java.util.*;
class Kaprekar
{ boolean isKaprekar(int n)
{ if(n==1)
return true;
else
{ int sq=n*n;
int l=(sq+"").length();
int len=(n+"").length();
int
n1=Integer.parseInt((sq+"").substring(l-len));
int
n2=Integer.parseInt((sq+"").substring(0,l-len)); return
n1+n2==n;
} }
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
System.out.print("Enter a number : ");
int n=in.nextInt(); Kaprekar obj=new
Kaprekar(); if(obj.isKaprekar(n))
System.out.println(n+" is a Kaprekar Number"); else
System.out.println(n+" is NOT a Kaprekar Number"); }
}
23
Output
Enter a number : 55
55 is a Kaprekar Number
Enter a number : 30
30 is NOT a Kaprekar Number
24
Question 10
Disarium Number
Question 10
25
import java.util.*;
class Disarium
{import
int x;java.util.*;
class Disarium
public Disarium(int x)
{ int x;
{ this.x=x;}
public
void Disarium(int
setX(int x) x)
{ this.x=x;}
{
voidthis.x=x;}
setX(int x)
{
void showX()
{this.x=x;}
void
System.out.print(x+"\t");
} showX()
{
boolean
System.out.print(x+"\t");
check()
}
{ int sum=0 , n=x; int
boolean check()
l=(x+"").length();
{ int sum=0 i=l
for(int , n=x; int ; i--)
; i>=1
{l=(x+"").length();
int d=n%10; sum+=(int)
for(int i=l ; i>=1
(Math.pow(d,i)); ; i--)
n/=10; }
{ int d=n%10;
return sum==x; sum+=(int)
} (Math.pow(d,i)); n/=10; }
return sum==x;
public static void main(String[] args)
}
{
public static void main(String[] args)
Scanner in=new Scanner(System.in);
{
System.out.println("Enter a number");
Scanner in=new Scanner(System.in);
int n=in.nextInt();
System.out.println("Enter a number");
Disarium obj=new Disarium(n);
int n=in.nextInt();
obj.setX(n);
Disarium obj=new Disarium(n);
if(obj.check())
obj.setX(n);
System.out.println(n+" is a DISARIUM number");
if(obj.check())
else
System.out.println(n+" is
System.out.println(n+" is NOT
a DISARIUM number");
a Disarium number"); }
}
26
Output
Enter a number : 20
20 is NOT a Disarium number
Enter a number : 89
89 is a DISARIUM number
27
Question 11
28
Keith Number
import java.util.*;
import java.util.*;
class Keith
class Keith
{ boolean isKeith(int n)
{ boolean isKeith(int n)
{ int l=(n+"").length();
{ int l=(n+"").length(); int n
int arr[]=new int[l];int num=
arr[]=new int[l]; int
for(int i=l-1 ; i>=0 ; i--)
num=n;
{ int
for(int d=num%10;
i=l-1 ; i>=0 ; i--)
arr[i]=d;
{ int d=num%10;
num/=10; }
arr[i]=d;
int sum=0;
num/=10; }
while(sum<n)
int sum=0;
{ sum=arr[0]; for(int i=0 ;
while(sum<n)
i<l-1 ; i++)
{ sum=arr[0]; for(int i=0 ;
{ arr[i]=arr[i+1];
i<l-1 ; i++)
sum+=arr[i];
{ arr[i]=arr[i+1];
}
sum+=arr[i];
arr[l-
}
1]=sum;
arr[l-1]=sum;
}
}
return
return sum==n;
sum==n;
}
}
public static void main(String[] args)
public static void main(String[]
{args)
{ Scanner in=new Scanner(System.in);
System.out.println("Enter an Integer");
Scanner in=new Scanner(System.in);
int n=in.nextInt();
System.out.println("Enter an Integer");
Keith obj=new Keith();
int n=in.nextInt();
if(obj.isKeith(n))
Keith obj=new Keith();
System.out.println(n+" is a KEITH Number");
if(obj.isKeith(n))
else
System.out.println(n+" is a KEITH Number");
else
System.out.println(n+" is NOT a
Keith Number"); } }
29
}
Output
Enter an Integer : 197
197 is a KEITH Number
Enter an Integer : 150
150 is NOT a Keith Number
30
Question 12
Rats Sequence
import java.util.*;
class rats
{ int rev(int n)
{
String s=n+"";
StringBuffer sb=new StringBuffer(s); return
Integer.parseInt(sb.reverse().toString());
}
int sort(int
n)
{
String s=n+""; char
arr[]=s.toCharArray();
Arrays.sort(arr); String
a=new String(arr); return
Integer.parseInt(a);
}
public static void main(String[]args)
{
Scanner in=new Scanner(System.in);
rats obj=new rats();
System.out.println("Enter nth
term"); int n=in.nextInt(); int
sum=1;
System.out.print(sum+"\t");
for(int i=0 ; i<n-1 ; i++)
{ sum=obj.sort(sum)
+obj.rev(obj.sort(sum));
System.out.print(obj.sort(sum)+"\t");
}
}}
31
Output
Enter nth term
10
1 2 4 8 16 77 145 668 1345 6677
32
Question 13
Matrix Multiplication
import java.util.*;
class Matrix
{ int [][] create(int r,int c)
{
int arr[][]=new int[r][c];
for(int i=0;i<r;i++)
{ for(int j=0;j<c;j++)
{ arr[i][j]=(int)(Math.random()*50+1);
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
System.out.println();
return arr;
}
public static void main(String args[])
{
Scanner in=new Scanner(System.in);
System.out.println("Enter dimension of
first array"); int r1=in.nextInt(); int
c1=in.nextInt();
System.out.println("Enter dimension of
second array"); int r2=in.nextInt(); int
c2=in.nextInt(); Matrix ob=new Matrix(); int arr[]
[]=ob.create(r1,c1); int brr[][]=ob.create(r2,c2);
if(c1==r2)
{
int crr[][]=new int[r1][c2];
for(int i=0;i<r1;i++)
{ for(int j=0;j<c2;j++)
33
{ for(int k=0;k<c1;k++)
crr[i][j]+=arr[i][k]*brr[k]
[j];
}
}
for(int i=0;i<r1;i++)
{ for(int j=0;j<c2;j++)
System.out.print(crr[i][j]+"\t");
System.out.println();
}
}
else
System.out.println("Multiplication not possible");
}
}
34
Output
Enter dimension of first array
4
5
Enter dimension of second array
5
4
50 50 11 15 20
13 41 14 33 38
48 42 14 25 22
23 44 2 22 34
25 4 11 1
15 16 4 11
47 17 25 5
10 38 21 1
5 47 16 42
2767 2697 1660 1510
2118 3986 1958 2163
2848 3086 1923 1529
1719 3264 1485 1967
Enter dimension of first array
4
3
Enter dimension of second array
5
4
10 47 19
43 18 26
43 31 31
35
6 11 25
22 26 40 8
5 2 44 13
41 40 30 31
29 27 43 11
4 25 49 16
Multiplication not possible
36
Question 14
Spiral Matrix
import java.util.*;
class Spiral
{ public static void main(String args[])
{
Scanner in=new Scanner(System.in);
System.out.println("Enter dimension of square
matrix"); int n=in.nextInt(); int arr[][]=new int[n]
[n]; int s=0,c=1; while(s<n/2)
{ for(int i=s;i<n-1-s;i++)
arr[s][i]=c++;
for(int i=s;i<n-1-s;i++)
arr[i][n-1-s]=c++;
for(int i=n-1-s;i>s;i--)
arr[n-1-s][i]=c++;
for(int i=n-1-s;i>s;i--) arr[i]
[s]=c++;
s++; } if(n%2==1) arr[n/2]
[n/2]=n*n;
for(int i=0;i<n;i++)
{ for(int j=0;j<n;j++)
System.out.print(arr[i][j]+"\t");
System.out.println();
}
}
}
37
OUTPUT
Enter dimension of square matrix
4
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
Enter dimension of square matrix
5
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
38
Question 15
Magic Square
import java.util.*;
class magic_square
{ public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("Enter the
size"); int s=in.nextInt(); if(s
%2==0)
System.out.println("Magic square not
possible");
else
{ int arr[][]=new int[s][s];
int n=1; int r=0 ,
c=s/2 ;
while(n<=s*s)
{ arr[r--][c++]=n++;
if(r<0 && c>=s)
{ r+=2 ; c--;
} if(r<0)
r=s-1;
if(c>=s)
c=0;
if(arr[r][c]!=0)
{ r+=2;c--;
}
}
for (int i=0; i<arr.length ; i++)
{ for(int j=0 ; j<arr[i].length ; j++)
System.out.print(arr[i][j]+"\t");
System.out.println();
}
}
}}
39
Output
Enter the size
5
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
Enter the size
4
Magic square not possible
40