Professional Documents
Culture Documents
BANGLADESH
Assignment
COURSE CODE: CSI 233
COURSE NAME: Advanced Programming
Submitted To:
Name: Tanveer Ahamed
Designation: Senior Lecturer
Department of Computer Science & Engineering
Stamford University Bangladesh
Submitted By:
Name: Abu Sayeed Khudri
ID: CSE 06607682
Batch No:66(B)
Program: B.Sc. in Computer Science and Engineering
STAMFORD UNIVERSITY BANGLADESH
}
}
public Protection2(){
System.out.println("derived package2 constructor");
System.out.println("n_pro = " + n_pro);
System.out.println("n_pub = " + n_pub);
}
}
OtherPackage Class:
package pckg2;
Main Class:
package pckg2;
FixedStack Class:
public class FixedStack implements IntStack
{
private int stck[];
private int tos;
FixedStack(int size)
{
stck = new int[size];
tos = -1;
}
@Override
public void push(int item)
{
if(tos==stck.length-1)
System.out.println("Stack is full.");
else
stck[++tos] = item;
}
@Override
public int pop()
{
if (tos < 0)
{
System.out.println("Stack underflow.");
return 0;
} else
{
return stck[tos--];
}
}
}
Test Class:
public class Test
{
public static void main(String[] args)
{
FixedStack mystack1 = new FixedStack(5);
FixedStack mystack2 = new FixedStack(8);
for(int i=0; i<5; i++) mystack1.push(i);
for(int i=0; i<8; i++) mystack2.push(i);
System.out.println("Stack in mystack1:");
for(int i=0; i<5; i++)
System.out.println(mystack1.pop());
System.out.println("Stack in mystack2:");
for(int i=0; i<8; i++)
System.out.println(mystack2.pop());
}
}
DynStack Class:
public class DynStack implements IntStack
{
private int stck[];
private int tos;
DynStack(int size)
{
stck = new int[size];
tos = -1;
}
@Override
public void push(int item)
{
if(tos==stck.length-1)
{
int temp[] = new int[stck.length * 2];
for(int i=0; i<stck.length; i++) temp[i] = stck[i];
stck = temp;
stck[++tos] = item;
}
else
stck[++tos] = item;
}
@Override
public int pop()
{
if(tos < 0)
{
System.out.println("Stack underflow.");
return 0;
}
else
return stck[tos--];
}
}
Test2 Class:
import java.util.Random;
Theory Assignment:
Answer to the question no 5(a):
public class TryCatchThrowsFinally
{
void procA()
{
System.out.println("Multi catch clauses:");
try
{
int a =5;
System.out.println("a = " + a);
int b = 42 / a;
int c[] = { 1 };
c[42] = 99;
}
catch(ArithmeticException e)
{
System.out.println("Divide by 0: " + e);
}
catch(ArrayIndexOutOfBoundsException e) {
System.out.println("Array index oob: " + e);
}
System.out.println("After try/catch blocks.");
}
void procB()
{
System.out.println("Nested try statement:");
try
{
int a =5;
int b = 42 / a;
System.out.println("a = " + a);
try
{
if(a==1) a = a/(a-a);
if(a==2) {
int c[] = { 1 };
c[42] = 99;
}
}
catch(ArrayIndexOutOfBoundsException e)
{
System.out.println("Array index out-of-bounds: " + e);
}
}
catch(ArithmeticException e)
{
System.out.println("Divide by 0: " + e);
}
}
void procC()
{
System.out.println("Finally:");
try
{
System.out.println("inside procC");
} finally
{
System.out.println("procC's finally");
}
}
public static void main(String args[])
{
TryCatchThrowsFinally obj = new TryCatchThrowsFinally();
obj.procA();
obj.procB();
obj.procC();
}
}