Computer Science
Computer Science
PROJECT
ALGORITHM
STEP 1: START THE ALGORITHM.
STEP 2: CREATE CLASS Convert.
STEP 3: CREATE METHOD main.
STEP 4: TAKE INPUT FROM USER.
STEP 5: INITIALISE l AND STORE THE LENGTH OF STRING.
STEP 6: DECLARE s1.
STEP 7: START for x=0 to x<l.
STEP 8: DECLARE ch .
STEP 9: CHECK IF THE CHARACTER IS LETTER USING Character.isLetter().
STEP 10: CHECK IF THE CHARACTER IS IN LOWERCASE USING
Character.isLowerCase().
STEP 11: COMPUTE s1 = s1 + Character.toUpperCase(ch)
STEP 12: ELSE
COMPUTE s1=s1 + Character.toLowerCase(ch)
STEP 13: ELSE
COMPUTE s1=s1+ch
STEP 14: END for.
STEP 15: PRINT THE ORIGINAL STRING.
STEP 16: PRINT THE NEW STRING.
STEP 17: END METHOD main.
STEP 18: END CLASS.
STEP 19: END ALGORITHM.
PROGRAM
import java.util.Scanner;
class convert
{
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
System.out.println(" Enter a string ");
String s = sc.nextLine();
int l = s.length();
String s1 = " ";
for (int x=0;x<l;x++)
{
char ch = s.charAt(x);
if(Character.isLetter(ch)==true)
{
if(Character.isLowerCase(ch)==true)
s1=s1+Character.toUpperCase(ch);
else
s1=s1+ Character.toLowerCase(ch);
}
else
{
s1=s1+ch;
}
}
System.out.println("Original string" + s);
VARIABLE DESCRIPTION
ALGORITHM
PROGRAM
import java.util.Scanner;
class RemoveDuplicate
{
public static void main (String args[])
{
Scanner sc = new Scanner(System.in);
System.out.println("Enter a word");
String s = sc.next();
s=s.trim() + " ";
int l= s.length();
String s1= " ";
char ch1,ch2;
for(int x=0;x<l-1;x++)
{
ch1= s.charAt(x);
ch2= s.charAt(x+1);
if (ch1!=ch2)
{
s1= s1+ ch1;
}
}
System.out.println("The original word :" +s);
System.out.println("The new word:" +s1);
}
}
VARIABLE DESCRIPTION
Variable Data Type Description
ALGORITHM
STEP 1: START THE ALGORITHM .
STEP 2: CREATE CLASS Replace.
STEP 3: CREATE METHOD main.
STEP 4: TAKE INPUT FROM THE USER.
STEP 5: DECLARE s AND STORE THE INPUT.
STEP 6: DECLARE s1.
STEP 7: START for.
STEP 8: DECLARE ch.
STEP 9:CHECK IF THE CHARACTER IS LETTER USING Character.isLetter().
STEP10: CHECK IF THE CHARACTER IS VOWEL.
STEP11: DECLARE ch1.
STEP12: COMPUTE s1=s1+ch1.
STEP13: ELSE
COMPUTE s1=s1+ch.
STEP14: END for.
STEP15: PRINT THE ORIGINAL STRING.
STEP16: PRINT THE NEW STRING.
STEP17: END METHOD main.
STEP18: END class.
STEP19: END ALGORITHM.
PROGRAM
import java.util.Scanner;
class Replace
{
public static void main (String args[])
{
Scanner sc= new Scanner(System.in);
System.out.println("Enter a sentence");
String s = sc.nextLine();
s= s.trim() + " ";
String s1 = " ";
for(int x=0;x<s.length();x++)
{
char ch = s.charAt(x);
if (Character.isLetter(ch) == true)
{
if(ch=='a'||ch=='e'||ch=='i'||ch=='o'||ch=='u'||ch=='A'||ch=='E'||ch=='I'||ch
=='O'||ch=='U')
{
char ch1 = (char)(ch+1);
s1= s1 + ch1;
}
else
{
s1 = s1 + ch;
}
}
}
System.out.println("Original string" + s);
System.out.println(" New string"+ s1);
}
}
VARIABLE DESCRIPTION
Variable Data Type Description
System.out.print("output:" + rev);
}
}
VARIABLE DESCRIPTION
}
}
}
VARIABLE DESCRIPTION
ALGORITHM
• ALGORITHM show()
STEP 1: CREATE METHOD show().
STEP 2: CHECK IF m>n THEN PRINT Invalid.
STEP 3: ELSE
STEP 4: START for.
STEP 5: INITIALISE A VARIABLE co AND STORE COMPOSITE NO. IN IT.
STEP 6: INITIALISE A VARIABLE sum AND STORE THE SUM OF DIGITS IN IT.
STEP 7: START while (sum>9)
STEP 8: UPDATE sum = sumDigit(sum).
STEP 9: END while.
STEP 10:CHECK IF co ==1 AND sum == 1 THEN UPDATE count++ AND
THEN PRINT THE NO.
STEP 11: END for.
STEP 12: PRINT THE NO OF COMPOSITE MAGIC NUMBERS.
STEP 13: END THE FUNCTION.
STEP 14: END ALGORITHM FOR THIS FUNCTION.
PROGRAM
import java.util.Scanner;
class CompMagic
{
int m,n,count;
public CompMagic()
{
m=0;
n=0;
count=0;
}
public void readLimits()
{
Scanner sc = new Scanner(System.in);
System.out.println("Enter the start limit");
m=sc.nextInt();
System.out.println("Enter the ending limit");
n=sc.nextInt();
}
public int isComposite(int x)
{
int c=0;
for(int i=0;i<x/2;i++)
{
if((x%i) == 0)
{
c++;
break;
}
}
if(c>2)
return 1;
else
return 0;
}
public int sumDigit(int v)
{
int s=0;
while(v!=0)
{
s=s+v%10;
v=v/10;
}
return s;
}
public void show()
{
if(m>n)
{
System.out.println("Invalid range");
}
else
{
for(int x=m; x<=n;x++)
{
int co= isComposite(x);
int sum= sumDigit(x);
while(sum>9)
{
sum=sumDigit(sum);
}
if(co==1&& sum==1)
{
count++;
System.out.print(x + "\t");
}
}
}
System.out.println("Number of composite magic numbers =" +
count);
}
public static void main(String args[])
{
CompMagic ob = new CompMagic();
ob.readLimits();
ob.show();
}
}
VARIABLE DESCRIPTION
return Rev==sqrevN;
}
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
System.out.println("Enter the value of n");
int n = sc.nextInt();
int count =0;
VARIABLE DESCRIPTION
Variable Data Type Description
• HAPPY NUMBER
ALGORITHM
PROGRAM
import java.util.Scanner;
class Happy
{
int n;
public void Happy()
{
n=0;
}
public void getnum(int nx)
{
n=nx;
}
int sumsqdigit(int d)
{
int s=0;
while(d!=0)
{
s=s+ (int)Math.pow(d%10,2);
d=d/10;
}
return s;
}
public void isHappy()
{
int num = n;
VARIABLE DESCRIPTION
RECURSION PROGRAMS
• CONVERTING TO BINARY EQUIVALENT NUMBERS
• ALGORITHM FOR CONSTRUCTOR
STEP 1: CREATE CONSTRUCTOR BinaryConverter().
STEP 2: ASSIGN THE PARAMETERIZED VALUE TO INSTANCE VARIABLE
num.
STEP 3: ASSIGN VALUE TO THE INSTANCE VARIABLE binnum BY
CALLING convert() FUNCTION.
STEP 4: END THE CONSTRUCTOR.
STEP 5: END ALGORITHM FOR THE CONSTRUCTOR.
PROGRAM
import java.util.Scanner;
class BinaryConverter
{
int num;
long binnum;
BinaryConverter(int n)
{
num=n;
binnum=convert(n);
}
long convert(int n)
{
if(n==0)
return 0;
return convert(n/2)*10 + (n%2);
}
void display()
{
System.out.println("Number:" + num);
System.out.println("Binary Equivalent:" + binnum);
}
public static void main (String args[])
{
Scanner sc = new Scanner(System.in);
System.out.print(" Enter number to be converted into binary equivalent:" );
int N = sc.nextInt();
BinaryConverter ob = new BinaryConverter(N);
ob.display();
}
}
VARIABLE DESCRIPTION
ALGORITHM
import java.util.Scanner;
class Approximation
{
public static double function(int n)
{
if(n==0)
return 1;
return 1.0+1.0/function(n-1);
}
public static void main (String args[])
{
Scanner sc= new Scanner(System.in);
System.out.println("Enter value of N");
int N = sc.nextInt();
System.out.println(" The approximate value is:" + function(N));
}
}
VARIABLE DESCRIPTION
• TO FIND GCD .
ALGORITHM
• ALGORITHM FOR CONSTRUCTOR
STEP 1: CREATE THE CONSTRUCTOR BinaryGCD().
STEP 2: ASSIGN THE FIRST APARAMETERISED VALUE TO num1.
STEP 3: ASSIGN THE SECOND PARAMETERIZED VALUE TO num2.
STEP 4: COMPUTE THE THIRD INSTANCE VARIABLE gcd =
bingcd(num1,num2).
STEP 5: END THE CONSTRUCTOR.
STEP 6: END THE ALGORITHM FOR THE CONSTRUCTOR.
import java.util.Scanner;
class BinaryGCD
{
int num1,num2,gcd;
BinaryGCD(int a,int b)
{
num1=a;
num2=b;
gcd=bingcd(num1,num2);
}
public static int bingcd(int p, int q)
{
if(q==0)
return p;
if(p==0)
return q;
if((p&1)==0&&(q&1)==0)
return bingcd(p>>1,q>>1)<<1;
else if((p&1)==0)
return bingcd(p>>1,q);
else if((q&1)==0)
return bingcd(p,q>>1);
else if (p>=q)
return bingcd((p-q)>>1,q);
else
return bingcd(p,(q-p)>>1);
}
int getgcd()
{
return gcd;
}
public static void main (String args[])
{
Scanner sc = new Scanner( System.in);
System.out.print("Enter 2 numbers:");
int p = sc.nextInt();
int q=sc.nextInt();
BinaryGCD ob = new BinaryGCD(p,q);
System.out.print(" gcd("+ p+ " ," + q+ ")=" +ob.getgcd());
}
}
VARIABLE DESCRIPTION
ALGORITHM
PROGRAM
import java.util.Scanner;
class Partition
{
public static void partition(int n)
{
partition(n,n,"");
}
public static void partition( int n, int max, String prefix)
{
if(n==0)
{
System.out.println(prefix);
return ;
}
for (int i = Math.min(max,n);i>=1;i--)
{
partition(n-i,i,prefix+ " " +i);
}
}
public static void main(String args[])
{
Scanner sc= new Scanner(System.in);
System.out.println(" Enter the number:");
int N= sc.nextInt();
System.out.println("All possible partition of "+ N+ "are:");
partition(N);
}
}
VARIABLE DESCRIPTION
ALGORITHM
PROGRAM
import java.io.*;
class IO
{
static String filename = ("subject.txt");
static InputStreamReader isr = new InputStreamReader(System.in);
static BufferedReader stdin = new BufferedReader(isr);
public static void main(String[] args)
{
try
{
FileWriter fw = new FileWriter(filename);
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter file = new PrintWriter(bw);
for(int i=0;i<5;i++)
{
System.out.print("Enter subject:");
String subject = stdin.readLine();
file.println(subject);
}
file.close();
}
catch(IOException e)
{
System.err.println(e);
}
}
}
VARIABLE DESCRIPTION
Variable Data Type Description
filename String To store subject
names.
i int To iterate for loop.
ALGORITHM
import java.util.*;
import java.io.*;
class CreateFile
{
public static void main (String args[]) throws IOException
{
Scanner sc = new Scanner(System.in);
String sent;
FileWriter std = new FileWriter("data.txt");
BufferedWriter mat = new BufferedWriter(std);
PrintWriter obj = new PrintWriter(mat);
System.out.print(" Input total number of sentences to store :");
int N = sc.nextInt();
for(int x=1;x<=N;x++)
{
System.out.print(" Input a sentence");
sent = sc.nextLine();
obj.println(sent);
}
obj.close();
}
}
VARIABLE DESCRIPTION
ALGORITHM
STEP 1: START THE ALGORITHM
STEP 2: CREATE CLASS Create
STEP 3: CREATE METHOD main.
STEP 4: CREATE FileOutputStream OBJECT AND PASS THE “ invoice.dat” .
STEP 5: CREATE DataOutputStream OBJECT AND PASS THE
FileOutputStream OBJECT .
STEP 6: TAKE INPUT FROM THE USER.
STEP 7: START for.
STEP 8: TAKE INPUT FROM THE USER.
STEP 9: SENDING VALUES OF name, qty, price FROM MEMORY TO BINARY
FILE “ invoice.dat”.
STEP 10: END for.
STEP 11: CLOSE BINARY FILE USING STREAM OBJECTS.
STEP 12: END METHOD main.
STEP 13: END CLASS.
STEP 14: END ALGORITHM.
PROGRAM
import java.io.*;
import java.util.*;
class Create
{
public static void main(String args[])throws IOException
{
Scanner sc = new Scanner(System.in);
BufferedReader inp = new BufferedReader(new
InputStreamReader(System.in));
String name;
int qty;
double price;
FileOutputStream std = new FileOutputStream("invoice.dat");
DataOutputStream mat = new DataOutputStream(std);
System.out.print(" Input the total number of products:");
int N = sc.nextInt();
for(int x=1;x<=N;x++)
{
System.out.print("Input product name:");
name = sc.nextLine();
System.out.print("Input quantity:");
qty = sc.nextInt();
System.out.print(" Input unit price:");
price = sc.nextDouble();
mat.writeUTF(name);
mat.writeInt(qty);
mat.writeDouble(price);
}
std.close();
mat.close();
}
}
VARIABLE DESCRIPTION
Price double
To store the price of the
product.
import java.io.*;
class Append
{
public static void main(String args[])throws IOException
{
Scanner sc = new Scanner(System.in);
BufferedReader inp = new BufferedReader(new
InputStreamReader(System.in));
String name;
int qty;
double price;
FileOutputStream std = new FileOutputStream("invoice.dat". true);
DataOutputStream mat = new DataOutputStream(std);
System.out.print(" Input the total number of products:");
int N = sc.nextInt();
for(int x=1;x<=N;x++)
{
System.out.print("Input product name:");
name = sc.nextLine();
System.out.print("Input quantity:");
qty = sc.nextInt();
System.out.print(" Input unit price:");
price = sc.nextDouble();
mat.writeUTF(name);
mat.writeInt(qty);
mat.writeDouble(price);
}
std.close();
mat.close();
}
}
VARIABLE DESCRIPTION
VARIABLE DESCRIPTION
PROGRAM
import java.io.*;
class Node1
{
protected int data;
protected Node1 link;
public Node1()
{
link=null;
data=0;
}
public Node1(int d, Node1 n)
{
data=d;
link=n;
}
public void setlink(Node1 n)
{
link =n;
}
public void setData(int d)
{
data=d;
}
public Node1 getlink()
{
return link;
}
public int getData()
{
return data;
}
}
class linkedList
{
protected Node1 start;
public linkedList()
{
start=null;
}
public boolean isEmpty()
{
return start==null;
}
public void insert(int val)
{
Node1 nptr,ptr,save=null;
nptr = new Node1(val,null);
boolean ins = false;
if(start==null)
start=nptr;
else if (val<=start.getData())
{
nptr.setlink(start);
start=nptr;
}
else
{
save=start;
ptr= start.getlink();
while(ptr!=null)
{
if(val>=save.getData()&&val<=ptr.getData())
{
save.setlink(nptr);
nptr.setlink(ptr);
ins=true;
break;
}
else
{
save=ptr;
ptr=ptr.getlink();
}
}
if(ins==false)
{
save.setlink(nptr);
}
}
}
public void display()
{
Node1 ptr = start;
System.out.print(start.getData()+"-->");
ptr=start.getlink();
while(ptr.getlink()!=null)
{
System.out.print(ptr.getData()+"-->");
ptr=ptr.getlink();
}
System.out.print(ptr.getData()+ "!!!!");
System.out.println();
}
}
class linkedTest
{
protected static linkedList S;
public static void main(String args[])
{
int num ;
S=new linkedList();
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
System.out.println(".....Starting list for insertion.....\n");
for(int a=0;a<5;++a)
{
System.out.print("Enter a number:");
try
{
num=Integer.parseInt(br.readLine());
S.insert(num);
System.out.println("Inserted:"+ num);
}
catch(Exception e)
{
System.out.println(e);
}
}
System.out.println("\n Created list is:");
S.display();
System.out.println("\n----List test over----");
}
}
VARIABLE DESCRIPTION
• TRAVERSE A LIST
ALGORITHM
STEP 1: ptr=start
STEP 2: REAPEAT STEPS 3 AND 4 UNTIL ptr = NULL
STEP 3: PRINT ptr.INFO
STEP 4: ptr=ptr.LINK
STEP 5: END
PROGRAM
import java.io.*;
class Node2
{
protected int data;
protected Node2 link;
public Node2()
{
link=null;
data=0;
}
public Node2(int d, Node2 n)
{
data=d;
link=n;
}
public void setlink(Node2 n)
{
link =n;
}
public void setData(int d)
{
data=d;
}
public Node2 getlink()
{
return link;
}
public int getData()
{
return data;
}
}
class linkedList
{
protected Node2 start;
public linkedList()
{
start=null;
}
public boolean isEmpty()
{
return start==null;
}
public void insert(int val)
{
Node2 nptr,ptr,save=null;
nptr = new Node2(val,null);
boolean ins = false;
if(start==null)
start=nptr;
else if (val<=start.getData())
{
nptr.setlink(start);
start=nptr;
}
else
{
save=start;
ptr= start.getlink();
while(ptr!=null)
{
if(val>=save.getData()&&val<=ptr.getData())
{
save.setlink(nptr);
nptr.setlink(ptr);
ins=true;
break;
}
else
{
save=ptr;
ptr=ptr.getlink();
}
}
if(ins==false)
{
save.setlink(nptr);
}
}
}
public void traverse()
{
Node2 ptr =start;
System.out.print(start.getData()+ " --->");
ptr= start.getlink();
while(ptr.getlink()!=null)
{
System.out.print(ptr.getData() + " --->");
ptr = ptr.getlink();
}
System.out.print(ptr.getData() + "!!!!");
System.out.println();
}
}
class linkedTest
{
protected static linkedList S;
public static void main(String args[])
{
int num ;
S=new linkedList();
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
System.out.println(".....Starting list for traversal.....\n");
for(int a=0;a<7;++a)
{
System.out.print("Enter a number:");
try
{
num=Integer.parseInt(br.readLine());
S.insert(num);
}
catch(Exception e)
{
System.out.println(e);
}
}
System.out.println("\n Now list is:");
S.traverse();
System.out.println("\n----List test over----");
}
}
VARIABLE DESCRIPTION
ALGORITHM
STEP 1: SET ptr=START,pos=0
STEP 2: REPEAT STEP 3 THROUGH 7 UNTIL ptr=NULL
STEP 3: IF ITEM = ptr.INFO then
STEP 4: pos = pos+1
STEP 5: PRINT ITEM found at node,pos
STEP 6: BREAK
STEP 7: ptr=ptr.LINK
STEP 8: IF ptr=NULL then
STEP 9: PRINT unsuccessful search
STEP 10: END.
PROGRAM
import java.io.*;
class Node3
{
protected int data;
protected Node3 link;
public Node3()
{
link=null;
data=0;
}
public Node3(int d, Node3 n)
{
data=d;
link=n;
}
public void setlink(Node3 n)
{
link =n;
}
public void setData(int d)
{
data=d;
}
public Node3 getlink()
{
return link;
}
public int getData()
{
return data;
}
}
class linkedList
{
protected Node3 start;
public linkedList()
{
start=null;
}
public boolean isEmpty()
{
return start==null;
}
public void insert(int val)
{
Node3 nptr,ptr,save=null;
nptr = new Node3(val,null);
boolean ins = false;
if(start==null)
start=nptr;
else if (val<=start.getData())
{
nptr.setlink(start);
start=nptr;
}
else
{
save=start;
ptr= start.getlink();
while(ptr!=null)
{
if(val>=save.getData()&&val<=ptr.getData())
{
save.setlink(nptr);
nptr.setlink(ptr);
ins=true;
break;
}
else
{
save=ptr;
ptr=ptr.getlink();
}
}
if(ins==false)
{
save.setlink(nptr);
}
}
}
public void traverse()
{
Node3 ptr =start;
System.out.print(start.getData()+ " --->");
ptr= start.getlink();
while(ptr.getlink()!=null)
{
System.out.print(ptr.getData() + " --->");
ptr = ptr.getlink();
}
System.out.print(ptr.getData() + "!!!!");
System.out.println();
}
public void search(int val)
{
Node3 ptr = start;
int pos=1;
while(ptr!=null)
{
if (ptr.getData()==val)
{
System.out.println("Item"+val + "found at position" + pos);
break;
}
else
{
ptr=ptr.getlink();
pos++;
}
}
if(ptr==null)
{
System.out.println("Item"+val +"is not found");
}
}
}
class linkedTest
{
protected static linkedList S;
public static void main(String args[])
{
int num ;
S=new linkedList();
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
System.out.println(".....Starting list for searching.....\n");
for(int a=0;a<7;++a)
{
System.out.print("Enter a number:");
try
{
num=Integer.parseInt(br.readLine());
S.insert(num);
}
catch(Exception e)
{
System.out.println(e);
}
}
System.out.println("\n Now list is:");
S.traverse();
System.out.print("\n\nEnter number to be searched:");
try
{
num=Integer.parseInt(br.readLine());
S.search(num);
}
catch(Exception e)
{
System.out.println(e);
}
System.out.println("\n----List test over----");
}
}
VARIABLE DESCRIPTION
PROGRAM
class SuperClass
{
String id= "id of SuperClass";
void identify()
{
System.out.println("This is identify() of superclass");
}
}
class SubClass extends SuperClass
{
String id = "id of SubClass";
void identify()
{
System.out.println("This is identify() of subclass");
}
void test()
{
System.out.println(id);
identify();
System.out.println(super.id);
super.identify();
}
}
VARIABLE DESCRIPTION
VARIABLE DATA TYPE DESCRIPTION
Id String To sore the string
• METHOD OVERRIDING
ALGORITHM
STEP 1: CREATE CLASS Animal
STEP 2: CREATE FUNCTION eat()
STEP 3: END THIS FUNCTION
STEP 4: CREATE A SUBCLASS dog
STEP 5: OVERRIDING eat() METHOD.
STEP 6: CREATE bark() METHOD IN SUBCLASS
STEP 7: CREATE CLASS Main
STEP 8: CREATE METHOD main.
STEP 9: CREATE AN OBJECT OF THE SUBCLASS
STEP 10: CALL THE eat() METHOD
STEP 11: END
PROGRAM
class Animal
{
public void eat()
{
System.out.println("i can eat");
}
}
class Dog extends Animal
{
NO VARIABLE.
• HIERARCHICAL INHERITANCE
ALGORITHM
STEP 1: : CREATE CLASS Animal
STEP 2: CREATE FUNCTION eat()
STEP 3: END THIS FUNCTION
STEP 4: CREATE A SUBCLASS Dog
STEP 5: CREATE bark() METHOD IN SUBCLASS
STEP 6: CREATE A SUBCLASS Cat
STEP 7: CREATE A METHOD meow() IN THE SUBCLASS
STEP 8: CREATE CLASS Test
STEP 9: CREATE METHOD main.
STEP 10: CREATE OBJECT
STEP 11: END
PROGRAM
class Animal1
{
void eat()
{
System.out.println("eating...");
}
}
class Dog extends Animal1
{
void bark()
{
System.out.println("barking...");
}
}
class Cat extends Animal1
{
void meow(){
System.out.println("meowing...");
}
}
class Test
{
public static void main(String args[])
{
Cat c=new Cat();
c.meow();
c.eat();
//c.bark();//C.T.Error
}
}
NO VARIABLE.
• CLASS HEIRARCHY
ALGORITHM
STEP 1: CREATE CLASS Bank
STEP 2: CREATE PARAMETERIZED CONSTRUCTOR
STEP 3: CREATE long getBalance() FUNCTION AND RETURN balance
STEP 4: CREATE void deposit() FUNCTION
balance=balance + amount
STEP 5: CREATE FUNCTION void withdraw()
CHECK IF (balance-amount)>1000
balance =balance -amount
ELSE
PRINT can’t withdraw
STEP 6: CREATE FUNCTION void display()
STEP 7: CREATE SUBCLASS Saving
STEP 8: CREATE void addInterest() FUNCTION IN THE SUBCLASS
STEP 9: CREATE APARAMETERIZED CONSTRUCTOR FOR THE SUBCLASS
STEP 10: CREATE METHOD main
STEP 11: COMPUTE
STEP 12: END METHOD main
STEP 13: END
PROGRAM
class Bank
{
protected static int nextAccno=1;
protected String firstname;
protected String surname;
protected String address;
protected int accNo;
protected long balance;
public Bank(String fn,String sn,String ad)
{
firstname =fn;
surname=sn;
address=ad;
balance=1000;
accNo= nextAccno;
++nextAccno;
}
public long getBalance()
{
return balance;
}
public void deposit(long amount)
{
balance=balance+amount;
}
public void withdraw(long amount)
{
if((balance -amount)>1000)
balance = balance-amount;
else
System.out.print("can't withdraw");
}
public void display()
{
System.out.println("\nCustomer" + firstname + " " + surname);
System.out.println("Account number=" + accNo);
System.out.println("Account balance = " + (balance/100.0));
}
}
class Saving extends Bank
{
private double rate;
public void addInterest(int month)
{
long interest;
interest = (long) (balance* rate/100.0*month/12.0);
balance= balance+ interest;
}
public Saving(String fn,String sn,String ad,double r)
{
super(fn,sn,ad);
rate=r;
}
public static void main(String args[])
{
Bank b1,b2;
b1=new Bank("Rubina","Khan","D.Park");
b2=new Bank("Tupur","Sen" ,"S.lake");
b1.deposit(15500);
b2.deposit(10000);
b1.display();
b2.display();
b1.withdraw(5500);
b2.withdraw(11000);
b1.display();
b2.display();
Saving depacc;
depacc= new Saving("Bula","Paul","P.Lane" ,9.0);
depacc.deposit(10000);
depacc.addInterest(10);
depacc.display();
}
}
VARIABLE DESCRIPTION
Variable Data Type Description
ALGORITHM
STEP 1: START THE ALGORITHM
STEP 2: CREATE CLASS SaddlePoint
STEP 3: CREATE METHOD main.
STEP 4: TAKE INPUT FROM THE USER AND STORE IT IN THE
DECLARED VARIABLE n
STEP 5: CREATE ARRAY arr[][] OF nxn.
STEP 6: START for x=0 x<n
STEP 7: START for y=0 y<n
STEP 8: TAKE IN PUT FROM THE USER FOR THE ELEMENTS OF THE
ARRAY
STEP 9: DECLARE A VARIABLE found = false
STEP 10: START for x=0 x<n
STEP 11: INITIALISE A VARIABLE rMin AND STORE THE FIRST
ELEMENT IN IT.
STEP 12: INITIALISE A VARIABLE cIdx TO 0.
STEP 13 : START for y=0 y<n
STEP 14: CHECK IF arr[x][y] <rMin
STEP 15: THEN rMin = arr[x][y] AND cIdx =0
STEP 16: END for
STEP 17: START for k=0 k<n
STEP 18: CHECK IF arr[k][cIdx] >rMin THEN BREAK
STEP 19: END for.
STEP 20: CHECK IF k==n
STEP 21: found= true
STEP 22: PRINT Saddle point
STEP 23: END for
STEP 24: CHECK IF found== false
STEP 25: PRINT No saddle point
STEP 26: END METHOD main
STEP 27: END CLASS
STEP 28: END ALGORITHM.
PROGRAM
import java.util.Scanner;
class SaddlePoint
{
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
System.out.print("Enter size:");
int n=sc.nextInt();
int arr[][]=new int[n][n];
System.out.println("Enter elements");
for(int x=0;x<n;x++)
{
for(int y=0;y<n;y++)
{
arr[x][y]=sc.nextInt();
}
}
boolean found = false;
for(int x=0;x<n;x++)
{
int rMin=arr[x][0];
int cIdx=0;
for(int y=0;y<n;y++)
{
if(arr[x][y]<rMin)
{
rMin = arr[x][y];
cIdx = y;
}
}
int k=0;
for(k=0;k<n;k++)
{
if(arr[k][cIdx]>rMin)
break;
}
if(k==n)
{
found = true;
System.out.println("Saddle point=" + rMin);
}
}
if(found==false)
{
System.out.print("No saddle point");
}
}
}
VARIABLE DESCRIPTION
Variable Data Type Description
• SUM OF DIAGONALS
ALGORITHM
STEP 1: START THE ALGORITHM
STEP 2: CREATE CLASS SaddlePoint
STEP 3: CREATE METHOD main.
STEP 4: TAKE INPUT FROM THE USER AND STORE IT IN THE
DECLARED VARIABLE n
STEP 5: CREATE ARRAY arr[][] OF nxn.
STEP 6: START for x=0 x<n
STEP 7: START for y=0 y<n
STEP 8: TAKE IN PUT FROM THE USER FOR THE ELEMENTS OF THE
ARRAY
STEP 9: PRINT Original array
STEP 10: INITIALISE VARIABLE ld and rd TO 0
STEP 11: START for x=0 x<n
STEP 12: START for y=0 y<n
STEP 13: PRINT arr[x][y]
STEP 14: CHECK IF x==y THEN UPDATE ld+=arr[x][y]
STEP 15: ELSE IF CHECK x+y==m-1 THEN UPDATE rd+=arr[x][y]
STEP 16: END for
STEP 17: PRINT
STEP 18: END for
STEP 19: PRINT sum of left diagoanal
STEP 20: PRINT sum of right diagonal
STEP 21: END METHOD main.
STEP 22: END CLASS
STEP 23: END ALGORITHM
PROGRAM
import java.util.Scanner;
class SumDiagonal
{
public static void main(String args[])
{
Scanner sc= new Scanner(System.in);
System.out.println("Enter size");
int n = sc.nextInt();
int arr[][] = new int[n][n];
System.out.println("Enter elements:");
for (int x=0;x<n;x++)
{
for(int y=0;y<n;y++)
{
arr[x][y]= sc.nextInt();
}
}
System.out.print("Original array:");
int ld=0,rd=0;
for (int x=0;x<n;x++)
{
for(int y=0;y<n;y++)
{
System.out.print(arr[x][y] + "\t");
if(x==y)
ld +=arr[x][y];
else if(x+y == n-1)
rd +=arr[x][y];
}
System.out.println();
}
System.out.print(" sum of left diagonal" + ld);
System.out.print("sum of right diagoanl" + rd);
}
}
VARIABLE DESCRIPTION
Variable Data Type Description
ALGORITHM
STEP 1: START THE ALGORITHM
STEP 2: CREATE CLASS SumO
STEP 3: CREATE METHOD main.
STEP 4: TAKE INPUT FROM THE USER AND STORE IT IN THE
DECLARED VARIABLE n
STEP 5: CREATE ARRAY arr[][] OF nxn.
STEP 6: START for x=0 x<n
STEP 7: START for y=0 y<n
STEP 8: TAKE IN PUT FROM THE USER FOR THE ELEMENTS OF THE
ARRAY
STEP 9: PRINT Array elements
STEP 10: START for
STEP 11: INITIALISE VARIABLE sumO and proE TO 0
STEP 12 : START for
STEP 13: CHECK IF arr[x][y] %2==0 THEN UPDATE proE
STEP 14: ELSE UPDATE sumO
STEP 15: PRINT ELEMENTS
STEP 16: PRINT proE AND sumO.
STEP 17: END for
STEP 18: PRINT
STEP 19: END for
STEP 20: END METHOD main
STEP 21: END class
STEP 22: END ALGORITHM
PROGRAM
import java.util.Scanner;
class SumO
{
public static void main(String args[])
{
Scanner sc= new Scanner(System.in);
System.out.println("Enter size");
int n = sc.nextInt();
int arr[][] = new int[n][n];
System.out.println("Enter elements:");
for (int x=0;x<n;x++)
{
for(int y=0;y<n;y++)
{
arr[x][y]= sc.nextInt();
}
}
System.out.print("Array elements");
for (int x=0;x<n;x++)
{
int sumO =0,proE = 1;
for(int y=0;y<n;y++)
{
if(arr[x][y]%2==0)
proE+=arr[x][y];
else
sumO +=arr[x][y];
System.out.print(arr[x][y] +"\t");
System.out.print(" product="+ proE + "\t" + "sum=" +
sumO);
}
System.out.println();
}
}
}
VARIABLE DESCRIPTION
Variable Data Type Description
PROGRAM
import java.util.Scanner;
class Boundary
{
public static void main(String args[])
{
Scanner sc= new Scanner(System.in);
System.out.println("Enter size");
int n = sc.nextInt();
int arr[][] = new int[n][n];
System.out.println("Enter elements:");
for (int x=0;x<n;x++)
{
for(int y=0;y<n;y++)
{
arr[x][y]= sc.nextInt();
}
}
System.out.print("Array elements");
for(int y=0;y<n;y++)
{
System.out.print(arr[x][y] +"\t");
}
System.out.println();
}
for (int x=0;x<n;x++)
{
for(int y=0;y<n;y++)
{
if(x==0)
System.out.print(arr[x][y] +"\t");
else if (x==n-1)
System.out.print(arr[x][y] +"\t");
else if(y==0)
System.out.print(arr[x][y] +"\t");
else if(y==n-1)
System.out.print(arr[x][y] +"\t");
else
System.out.print(" ");
}
System.out.println();
}
}
}
VARIABLE DESCRIPTION
Variable Data Type Description
ALGORITHM
STEP 1: START THE ALGORITHM
STEP 2: CREATE CLASS CheckDate
STEP 3: CREATE METHOD main.
STEP 4: INITIALISE AN ARRAY days[]
STEP 5: TAKE INPUT FROM THE USER.
STEP 6: CHECK IF y>1900&&y<=9999
STEP 7: CHECK IF (y%4==0)&&(y%100!=0)||(y%400==0)
STEP 8: THEN UPDATE day[1]++
STEP 9: CHECK IF m>0 &&m<=12
STEP 10: CHECK IF d>0&&d<days[m-1]
STEP 11: THEN PRINT valid date
STEP 12: ELSE PRINT invalid date
STEP 13: END METHOD main
STEP 14: END CLASS
STEP 15: END ALGORITHM.
PROGRAM-
import java.util.*;
class CheckDate
{
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
int days[] = {31,28,31,30,31,30,31,31,30,31,30,31}
String input;
System.out.print(" enter date :");
input= sc.nextLine();
int d=Integer.parseInt(input.substring(0,2));
int m =Integer.parseInt(input.substring(3,5));
int y=Integer.parseInt(input.substring(6));
if(y>1900&&y<=9999)
{
if(((y%4==0)&&(y%100!=0))||(y%400==0)
{
days[1]++;
}
if(m>0&&m<=12)
{
if(d>0&&d<days[m-1]
{
System.out.print("Valid date");
}
else
{
System.out.print("Invalid date");
}
}
else
{
System.out.print("Invalid date");
}
}
else
{
System.out.print("Invalid date");
}
}
}
VARIABLE DESCRIPTION
Variable Data Type Description
ALGORITHM
STEP 1: START THE ALGORITHM
STEP 2: CREATE CLASS FindDay
STEP 3: CREATE METHOD main
STEP 4: CREATE ARRAY month OF int TYPE
STEP 5: CREATE ARRAY names OF String TPE
STEP 6: TAKE INPUT FROM THE USER.
STEP 7: CREATE StringTokenizer OBJECT
STEP 8: CHECK IF (count<=0||count>3)
STEP 9: THEN PRINT invalid
STEP 10: RETURN
STEP 11: INITIALISE day ,m and year VARIABLES
STEP 12: DECLARE boolean leapyear VARIABLE
STEP 13: CHECK IF (leapyear)
STEP 14: THEN UPDATE month[1] =29
STEP 15: CHECK IF (m<1||m>12)
STEP 16: THEN PRINT Invalid AND RETURN.
STEP 17: CHECK IF day<1||day>month[m-1]
STEP 18: THEN PRINT Invalid AND RETURN
STEP 19: TAKE INPUT
STEP 20: START for
STEP 21: CHECK IF (names[i].equalsignorecase(startdayname))
THEN UPDATE Idx =i AND BREAK
STEP 22: CHECK IF Idx==-1 THEN PRINT Invalid AND RETURN
STEP 23: START for.
STEP 24: UPDATE tdays = tdays+month[i]
STEP 25: UPDATE tdays=day
STEP 26: IF CIdx >=7 THEN UPDATE CIdx -=7
STEP 27: PRINT THE DAY
STEP 28: END METHOD main
STEP 29: CREATE A FUNCTION boolean isLeapyear()
STEP 30: INITIALISE A VARIABLE ret TO false
STEP 31: CHECK IF (y%400==0) THEN ret=true
STEP 32: ELSE IF (y%100==0) THEN ret=false
STEP 33: ELSE IF(y%4==0) THEN ret =true
STEP 34: ELSE ret=false;
STEP 35: RETURN ret
STEP 36: END THIS FUNCTION
STEP 37: END CLASS
STEP 38: END ALGORITHM
PROGRAM-
import java.util.*;
class FindDay
{
public static void main(String args[])
{
int month[] = {
31,28,31,30,31,30,31,31,30,31,30,31};
String names[] = {
"MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SAT
URDAY","SUNDAY"};
Scanner sc= new Scanner(System.in);
System.out.print("enter date");
String date = sc.nextInt();
StringTokenizer st = new StringTokenizer(date,"/");
int count=st.countTokens();
if(count<=0 ||count>3)
{
System.out.print("Invalid");
return;
}
int day = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int year = Integer.parseInt(st.nextToken());
boolean leapyear = isLeapyear(year);
if (leapyear)
{
month[1] =29;
}
if(m<1||m>12)
{
System.out.println("invalid");
return;
}
if( day <1||day>month[m-1])
{
System.out.println("invalid");
return;
}
System.out.print("Day on 1st Jan:");
String startdayname=sc.nextLine();
int Idx = -1;
for(int i=0;i<names.length();i++)
{
if (names[i].equalsIgnoreCase(startdayname))
{
Idx = i;
break;
}
}
if(Idx==-1)
{
System.out.println("invalid");
return;
}
int tdays=0;
for (int i =0;i<m-1;i++)
{
tdays+=month[i];
}
tdays+=day;
int CIdx = tdays%7 + Idx -1;
if (CIdx >=7)
{
CIdx-=7;
}
System.out.print("day on "+ date+ ":"+ names[CIdx]);
}
public static boolean isLeapyear(int y)
{
boolean ret=false;
if(y%400==0)
{
ret=true;
}
else if(y%100==0)
{
ret=false;
}
else if(y%4==0)
{
ret=true;
}
else
{
ret = false;
}
return ret;
}
}
VARIABLE DESCRIPTION
Variable Data Type Description