You are on page 1of 33

78

CHAPTER #7
PP7.1 Modify the account class from Ch #4 so that it permits to open a new
account with just name and account number.
Code of Account class:
import java.text.NumberFormat;
public class Account71{
private final double RATE = 0.035; // interest rate of 3.5%
private long acctNumber;
private double balance;
private String name;
public Account71 (String owner, long account, double initial){
name = owner;
acctNumber = account;
balance = initial;
}
public Account71 (String owner, long account){ //method overloading
name = owner;
acctNumber = account;
balance =0.0;
}
public double deposit (double amount){
balance = balance + amount;
return balance;
}
public double withdraw (double amount, double fee){
balance = balance - amount - fee;
return balance; }

Java assignment by M.Junaid-ur-Rehman (2015-EE-402)


79

public double addInterest (){


balance += (balance * RATE);
return balance; }
public double getBalance (){
return balance; }
public String toString (){
NumberFormat fmt = NumberFormat.getCurrencyInstance();
return acctNumber + "\t"
t" + name + "\t"
" + fmt.format(balance);
}}
Code of Transaction Class:
public class Transactions71{
public static void main (String[] args){
Account71 acct1 = new Account71 ("Junaid", 72354, 1000.0);
Account71 acct2 = new Account71 ("Aqib", 69713); //new account
System.out.println("Balence of new account is "+acct2.getBalance());
System.out.println ("Junaid balance after withdrawal: " +
acct1.withdraw (430.75, 1.50));
acct2.deposit(500.0);
System.out.println (acct1);
System.out.println (acct2);
}}
Result:

Java assignment by M.Junaid


M.Junaid-ur-Rehman (2015-EE-402)
80

PP7.2 Modify the Student class according to given condition.


Code ofStudentBody class:
public class StudentBody72 {
public static void main(String[] args) {
Address72 school = new
Address72("Khurliawala","Faisalabad","Pakistan",38000);
Address72 sHome = new
Address72("Khurliawala","Faisalabad","Pakistan",38000);
Student72 Aqib = new Student72("Aqib","Seikh",sHome,school);
Address72 jHome = new Address72("Shahkot","Nankana
Sahib","Pakistan",39630);
Student72 Junaid = new
Student72("Junaid","Anwar",jHome,school,7.5,9.5,5.25);
double a=Junaid.getTestScore(3);
Aqib.setTestScore(3,a);
System.out.println(Aqib);
System.out.println();
System.out.println(Junaid);
}}
Code of Student class:
import java.text.DecimalFormat;
public class Student72 {
private String firstName, lastName;
private Address72 homeAddress, schoolAddress;
private double test1,test2,test3;
public Student72(String first, String last, Address72 home,Address72
school,double test1,double test2,double test3){
firstName = first;
lastName = last;

Java assignment by M.Junaid-ur-Rehman (2015-EE-402)


81

homeAddress = home;
schoolAddress = school;
this.test1=test1; //this reference
this.test2=test2;
this.test3=test3;
}
public Student72(String first, String last, Address72 home,Address72
school){//method overloading
firstName = first;
lastName = last;
homeAddress = home;
schoolAddress = school;
test1=0;
test2=0;
test3=0;
}
public void setTestScore(int num,double score){
if(num==1)
test1=score;
else if(num==2)
test2=score;
else if(num==3)
test3=score;
else
System.out.println("Invalid test number");
}
public double getTestScore(int num){
switch(num){
Java assignment by M.Junaid-ur-Rehman (2015-EE-402)
82

case 1:
return test1; //no need of break statement due to return statement
case 2:
return test2;
case 3:
return test3;
default:
System.out.print("Invalid test number");
return 0;}}
public double average(){
return (test1+test2+test3)/3;
}
public String toString() {
DecimalFormat fmt=new DecimalFormat("0.###");
String result;
result = firstName + " " + lastName + "\nHome Address: " + homeAddress +
"\n";
result += "School Address: " + schoolAddress+"\n";
result+="test1= "+test1+", test2= "+test2+", test3= "+test3+ "\nAvetage
"+fmt.format(average());
return result;
}}
Code of Address class:
public class Address72 {
private String streetAddress, city, state; private long zipCode;
public Address72(String street, String town, String st, long zip) {
streetAddress = street;
city = town;

Java assignment by M.Junaid-ur-Rehman (2015-EE-402)


83

state = st;
zipCode = zip;
}
public String toString(){
String result;
result = streetAddress+", "+city + ", " + state + " " + zipCode;;
return result;
}}
Result:

PP7.3 Modify the course class from Ch#4 according to given condition.
Code of course class:
import java.util.ArrayList;
import java.text.DecimalFormat;
public class Course73{
DecimalFormat fmt=new DecimalFormat();
private ArrayList<Student72> students=new ArrayList<Student72>();
private String course;
private double sum,average;
verage;
public Course73(String course){
Java assignment by M.Junaid
M.Junaid-ur-Rehman (2015-EE-402)
84

this.course=course;
sum=0;
average=0;
}
public void addStudent(Student72 stud){
students.add(stud);
}
public double average(){
for(int index=0;index<students.size();index++){
Student72 temp=students.get(index);
sum+=students.get(index).average(); //computes average of each student
}
average=sum/students.size();
return(average);
}
public void roll(){
System.out.println(students+"\n");
}
public String toString(){
return course+"\t"+fmt.format(average());
} }
Code of Driver class:
public class Coursetest73{
public static void main(String[]args){
Course73 cour=new Course73("Math");
Address72 school = new
Address72("Khurliawala","Faisalabad","Pakistan",38000);

Java assignment by M.Junaid-ur-Rehman (2015-EE-402)


85

Address72 sHome = new


Address72("Khurliawala","Faisalabad","Pakistan",38000);
"Faisalabad","Pakistan",38000);
Student72 Aqib = new Student72("Aqib","Seikh",sHome,school,5.25,7.25,9);
Address72 jHome = new Address72("Shahko
Address72("Shahkot","Nankana
Sahib","Pakistan",39630);
Student72 Junaid = new
Student72("Junaid","Anwar",jHome,school,7.5,9.5,5.25);
cour.addStudent(Aqib);
cour.addStudent(Junaid);
cour.roll();
System.out.println(cour);
}}
Result:

PP7.4 Modify the RationalNumber class according to given condition.


condition
Code of RationalNumber class:
import java.text.DecimalFormat;
public class RationalNumber74 implements Comparable<RationalNumber74>{
DecimalFormat fmt=new DecimalFormat("0.####");
private int numerator, denominator;

Java assignment by M.Junaid


M.Junaid-ur-Rehman (2015-EE-402)
86

public RationalNumber74(int numer, int denom){


if (denom == 0)
denom = 1;
// Make the numerator "store" the sign
if (denom < 0){
numer = numer * -1;
denom = denom * -1;
}
numerator = numer;
denominator = denom;
reduce();
}
public float compute(){
float a=getNumerator()/getDenominator();
return a;}
public int compareTo(RationalNumber74 obj){
if(Math.abs(compute()-obj.compute())<0.0001) //0.0001 is tolerence value
return 0;
if(compute()>obj.compute())
return +1;
else
return-1;
}
public int getNumerator(){
return numerator;
}
public int getDenominator(){

Java assignment by M.Junaid-ur-Rehman (2015-EE-402)


87

return denominator;
}
public RationalNumber74 reciprocal(){
return new RationalNumber74(denominator, numerator);
}
public RationalNumber74 add(RationalNumber74 op2){
int commonDenominator = denominator * op2.getDenominator();
int numerator1 = numerator * op2.getDenominator();
int numerator2 = op2.getNumerator() * denominator;
int sum = numerator1 + numerator2;
return new RationalNumber74(sum, commonDenominator);
}
public RationalNumber74 subtract(RationalNumber74 op2){
int commonDenominator = denominator * op2.getDenominator();
int numerator1 = numerator * op2.getDenominator();
int numerator2 = op2.getNumerator() * denominator;
int difference = numerator1 - numerator2;
return new RationalNumber74(difference, commonDenominator);
}
public RationalNumber74 multiply(RationalNumber74 op2){
int numer = numerator * op2.getNumerator();
int denom = denominator * op2.getDenominator();
return new RationalNumber74(numer, denom);
}
public RationalNumber74 divide(RationalNumber74 op2){
return multiply(op2.reciprocal());
}

Java assignment by M.Junaid-ur-Rehman (2015-EE-402)


88

public boolean isLike(RationalNumber74 op2){


return ( numerator == op2.getNumerator() &&
denominator == op2.getDenominator() );
}
public String toString(){
String result;
if (numerator == 0)
result = "0";
else
if (denominator == 1)
result = numerator + "";
else
result = numerator + "/" + denominator;
return result;
}
private void reduce(){
if (numerator != 0)
{
int common = gcd(Math.abs(numerator), denominator);
numerator = numerator / common;
denominator = denominator / common;
}}
private int gcd( int num1, int num2){
while (num1 != num2)
if (num1 > num2)
num1 = num1 - num2;
else

Java assignment by M.Junaid-ur-Rehman (2015-EE-402)


89

num2 = num2 - num1;


return num1;
}}
Code of RationalTester class:
public class PP74{
public static void main(String[]args){
RationalNumber74 r1=new RationalNumber74(3,2);
RationalNumber74 r2=new RationalNumber74(5,2);
int a= r1.compareTo(r2);
if(a>0)
System.out.println(r1+" is greater than "+r2);
else if(a<0)
System.out.println(r1+" is smaller than "+r2);
else
System.out.println(r1+" is equals to"+r2);
}}
Result:

PP7.5 Write a program according to given condition.


Code of Priority interface:
public interface Priority{
public void setPriority(int a);
public int getPriority();}
Code of Task class:
public class Task implements Priority{
Java assignment by M.Junaid
M.Junaid-ur-Rehman (2015-EE-402)
90

private int priority;


private String task;
public Task(String task,int priority){
this.priority=priority;
this.task=task;}
public void setTask(String s){
task=s;}
public String getTask(){
return task;}
public void setPriority(int b){
priority=b;}
public int getPriority(){
return priority;}
public String toString(){
return("Task : "+task+"\tPriority : "+priority);}}
Code of driver class:
public class PP75{
public static void main(String[]args){
Task t1=new Task("Best",3);
Task t2=new Task("better",2);
Task t3=new Task("Good",3);
t1.setPriority(1);
System.out.println(t2.getPriority());
System.out.println(t1);
System.out.println(t2);
System.out.println(t3);
}}

Java assignment by M.Junaid-ur-Rehman (2015-EE-402)


91

Result:

PP7.6 Write a program according to given condition.


Code of Complexity code:
public interface Complexity{
public void setComplexity(int complexity);
public int getComplexity();}
Code of Task class:
public class Task76 implements Priority,Complexity{
private int priority,complexity;
private String task;
public Task76(String task,int priority,int complexity){
this.priority=priority;
this.task=task;
this.complexity=complexity;
exity; }
public void setTask(String s){
task=s;}
public String getTask(){
return task;}
public void setPriority(int b){
priority=b;}
public int getPriority(){
return priority;}

Java assignment by M.Junaid


M.Junaid-ur-Rehman (2015-EE-402)
92

public void setComplexity(int a){


complexity=a;}
public int getComplexity(){
return complexity;}
public String toString(){
return("Task : "+task+"\tPriority
tPriority : "+priority+"
"+priority+"\tComplexity :
"+complexity);}}
Code of driver class:
public class PP76{
public static void main(String[]args){
Task76 t1=new Task76("Best",3,3);
Task76 t2=new Task76("better",2,1);
Task76 t3=new Task76("Goo
Task76("Good",3,1);
t1.setPriority(1);
t2.setComplexity(2);
System.out.println(t1);
System.out.println(t2);
System.out.println(t3);
}}
Result:

PP7.7 Write a program according to given condition.


Code of Task class:
public class Task77 implements Priority,Complexity,Comparable<Task77>{

Java assignment by M.Junaid


M.Junaid-ur-Rehman (2015-EE-402)
93

private int priority,complexity;


private String task;
public Task77(String task,int priority,int complexity){
this.priority=priority;
this.task=task;
this.complexity=complexity; }
public void setTask(String s){
task=s;}
public String getTask(){
return task;}
public void setPriority(int b){
priority=b;}
public int getPriority(){
return priority;}
public void setComplexity(int a){
complexity=a;}
public int getComplexity(){
return complexity;}
public int compareTo(Task77 obj){
if(getPriority()==obj.getPriority())
return 0;
if(getPriority()>obj.getPriority())
return +1;
else
return -1;}
public String toString(){
return("Task : "+task+"\tPriority : "+priority+"\tComplexity :
"+complexity);}}
Java assignment by M.Junaid-ur-Rehman (2015-EE-402)
94

Code of driver class:


public class PP77{
public static void main(String[]args){
Task77 t1=new Task77("Best",3,3);
Task77 t2=new Task77("better",2,1);
Task77 t3=new Task77("Good",3,1);
t1.setPriority(1);
t2.setComplexity(2);
int a=t3.compareTo(t2);
if(a<=1){
System.out.println(t2);
System.out.println(t3);}
else{
System.out.println(t2);
System.out.println(t3);}
System.out.println();
System.out.println(t1);
System.out.println(t2);
System.out.println(t3);
}}
Result:

Java assignment by M.Junaid


M.Junaid-ur-Rehman (2015-EE-402)
95

PP7.8 Write a program according to given condition.


Code of Lockable interface:
public interface Lockable{
public void setkey(int key);
public void lock();
public void unlocked(int key);
public Boolean locked();
}
Code of Coin class:
public class Coin78 implements Lockable{
private final int HEADS = 0;
private final int TAILS = 1;
private int face,passward;
private String state;
public Coin78 () {
flip();
passward=12345;
state="locked";
}
public void setkey(int key){ //abstact method
if(locked())
System.out.println("First unlock then try again");
else{
passward=key;
System.out.println("Passward changed successfully");
}}
public void unlocked(int key){ //abstact method

Java assignment by M.Junaid-ur-Rehman (2015-EE-402)


96

if(passward==key){
state="unlocled";
System.out.println("Unlocked Successfully");
}
else
System.out.println("Sorry! Wrong passward try Again");
}
public void lock(){ //abstact method
state="locked";
System.out.println("Locked");
}
public Boolean locked(){ //abstact method
return(state=="locked");
}
public void flip (){
if(locked())
System.out.println("First unlock then try again");
else
face = (int) (Math.random() * 2);
}
public boolean isHeads (){
if(!locked())
return (face == HEADS);
else
return true;
}
public String toString(){

Java assignment by M.Junaid-ur-Rehman (2015-EE-402)


97

if(locked()){
System.out.println("First unlock then try again");
return" ";}
else{
String result=Boolean.toString(face==HEADS);
return result;
} } }
Code of CoinFlip class:
public class CoinFlip78{
public static void main (String[] args){
Coin78 myCoin = new Coin78();
myCoin.flip();
myCoin.unlocked(12345);
myCoin.flip();
System.out.println(myCoin);
if (myCoin.isHeads()&&!myCoin.locked())
System.out.println ("You win.");
if(!myCoin.isHeads()&&!myCoin.locked())
System.out.println ("Better luck next time.");
myCoin.setkey(131273);
myCoin.lock();
if(myCoin.locked())
System.out.println("Yes. Locked");
else
System.out.println("No. Unlocked");
myCoin.unlocked(12345);
myCoin.unlocked(131273);

Java assignment by M.Junaid-ur-Rehman (2015-EE-402)


98

}}
Result:

PP7.9 Make Account class from Ch#4 Lockable as defined.


Code of Lockable interface:
public interface Lockable{
public void setkey(int key);
public void lock();
public void unlocked(int key);
public Boolean locked();
}
Code of account class;
import java.util.Scanner;
import java.text.NumberFormat;
public class Account79 implements Lockable{
private final double RATE = 0.035; // interest rate of 3.5%
private long acctNumber;
private double balance;
private String name,state;
private int passward;
Scanner scan=new Scanner(System.in);
Java assignment by M.Junaid
M.Junaid-ur-Rehman (2015-EE-402)
99

public Account79 (String owner, long account, double initial)


{
name = owner;
acctNumber = account;
balance = initial;
passward=12345;
state="locked";
}
public void setkey(int key){ //abstact method
if(locked())
System.out.println("First unlock then try again");
else{
passward=key;
System.out.println("Passward changed successfully");
}}
public void unlocked(int key){ //abstact method
if(passward==key){
state="unlocled";
System.out.println("Unlocked Successfully");
}
else
System.out.println("Sorry! Wrong passward try Again");
}
public void lock(){ //abstact method
state="locked";
System.out.println("Locked");
}

Java assignment by M.Junaid-ur-Rehman (2015-EE-402)


100

public Boolean locked(){ //abstact method


return(state=="locked");
}
public double deposit (double amount){
if(locked()){
System.out.println("First unlock then try again");
return 0.0;}
else{
balance = balance + amount;
return balance;
}}
public double withdraw (double amount, double fee){
if(locked()){
System.out.println("First unlock then try again");
return 0.0;}
else{
if(amount<=balance-fee&&amount>0){
balance = balance - amount - fee;
return balance;
}
else{
System.out.println("Ivalid input:Amount is negetive or greater than balence");
return balance;
}}}
public double addInterest (){
if(locked()){
System.out.println("First unlock then try again");

Java assignment by M.Junaid-ur-Rehman (2015-EE-402)


101

return 0.0;}
else{
balance += (balance * RATE);
return balance;
}}
public double getBalance (){
if(locked()){
System.out.println("First unlock then try again");
return 0.0;}
else
return balance; }
public String toString (){
if(locked()){
System.out.println("First unlock then try again");
return " ";}
else{
NumberFormat fmt = NumberFormat.getCurrencyInstance();
return acctNumber + "\t" + name + "\t" + fmt.format(balance);
}}}

Code of Transaction class:


import java.util.Scanner;
public class Transactions79{
public static void main (String[] args){
double a,b,c;
Account79 acct = new Account79("Junaid", 72354, 10000.0);
Scanner scan=new Scanner(System.in);

Java assignment by M.Junaid-ur-Rehman (2015-EE-402)


102

System.out.println("Current Balence is "+acct.getBalance());


"+acct.getBalance
acct.unlocked(12345);
System.out.println("Current Balence is "+acct.getBalance());
acct.withdraw(-500,2.5);
acct.withdraw(500,2.5);
System.out.println(acct);
acct.setkey(131273);
acct.lock();
if(acct.locked())
System.out.println("Yes.Account locked");
locked"
else
System.out.println("No. Account is not locked");
}}
Result:

Java assignment by M.Junaid


M.Junaid-ur-Rehman (2015-EE-402)
103

CHAPTER #8
PP8.1 Write a program according to diven condition:
Code:
import java.util.Scanner;
public class PP81{
public static void main(String[]args){
Scanner scan=new Scanner(System.in);
int num,a;
Boolean flag=false;
int[] counter=new int[51];//index 0 is not using
System.out.println("Enter Even number in rage 2-100. odd number to end
input");
num=scan.nextInt();
while(num%2==0&&num<=100){
a=(int)num/2;
counter[a]++;
System.out.println("Enter Even number in rage 2-100. odd number to end
input");
num=scan.nextInt();
flag=true; }
if(flag==true){
System.out.println("Number\tCount");
for(int c=1;c<=50;c++){
if(counter[c]!=0)
System.out.println((c*2)+"\t "+counter[c]); }}
else
System.out.println("No number were entered") }}

Java assignment by M.Junaid-ur-Rehman (2015-EE-402)


104

Result:

PP8.2 Write a program according to diven condition:


Code:
import java.util.Scanner;
public class PP82{
public static void main(String[]args){
Scanner scan=new Scanner(System.in);
int num,a;
Boolean flag=false;
int[] counter=new int[51];//index 0 is not using
System.out.println("Enter odd number in rage 2-100.
100. Even number to end
input");
num=scan.nextInt();
while(num%2==1&&num<=100){
a=(int)num/2;

Java assignment by M.Junaid


M.Junaid-ur-Rehman (2015-EE-402)
105

counter[a+1]++;
System.out.println("Enter Even number in rage 22-100.
100. odd number to end
input");
num=scan.nextInt();
flag=true; }
if(flag==true){
System.out.println("Number
System.out.println("Number\tCount");
for(int c=1;c<=50;c++){
if(counter[c]!=0)
System.out.println((c*2)
ntln((c*2)-1+"\t "+counter[c]); }}
else
System.out.println("No
ntln("No number were entered");
entered");}}
Result:

Java assignment by M.Junaid


M.Junaid-ur-Rehman (2015-EE-402)
106

PP8.3 Write a program according to diven condition:


Code:
import java.util.Scanner;
public class PP83{
public static void main(String[]args){
Scanner scan=new Scanner(System.in);
int num,a;
int[] hash=new int[10];
System.out.println("Enter arbitrary number in range 0-100.Enter 101 to end
input");
num=scan.nextInt();
while(num<=100){
for(a=0;a<100;a+=10){
if(num>=a&&num<=a+10)
hash[a/10]++;}
System.out.println("Enter arbitrary number in range 0-100.Enter 101 to end
input");
num=scan.nextInt();
}
System.out.println("Range\tStudents");
for(a=90;a>=0;a-=10){
int b=hash[a/10];
System.out.print(a+"-"+(a+10)+" \t ");
for(int c=0;c<b;c++)
System.out.print("#");
System.out.println();
}}}

Java assignment by M.Junaid-ur-Rehman (2015-EE-402)


107

Result:

PP8.4 Write a program according to diven condition:


Code:
import java.util.Scanner;
public class PP84{
public static void main(String[]args){
Scanner scan=new Scanner(System.in);
int num,a;
int[] hash=new int[10];
System.out.println("Enter arbitrary number in range 00-100.Enter
100.Enter 101 to end
input");
num=scan.nextInt();
while(num<=100){

Java assignment by M.Junaid


M.Junaid-ur-Rehman (2015-EE-402)
108

for(a=0;a<100;a+=10){
if(num>=a&&num<=a+10)
num>=a&&num<=a+10)
hash[a/10]++;}
System.out.println("Enter arbitrary number in range 00-100.Enter
100.Enter 101 to end
input");
num=scan.nextInt();}
System.out.println("Range
System.out.println("Range\tStudents");
for(a=90;a>=0;a-=10){
int b=(int)hash[a/10]/3;
3;
System.out.print(a+"-"+(a+10)+"
"+(a+10)+" \t ");
for(int c=0;c<b;c++)
System.out.print("#");
System.out.println();}}}
Result:

Java assignment by M.Junaid


M.Junaid-ur-Rehman (2015-EE-402)
109

PP8.5 Write a program according to diven condition:


Code:
import java.util.Scanner;
public class PP85{
public static void main(String[]args){
Scanner scan=new Scanner(System.in);
int num,count=0,sum=0,count1=0;
double mean=0,sd=0,temp=0,sqr=0;
int[] array=new int[50];
System.out.println("Enter value, -1 to end input");
num=scan.nextInt();
while(num!=-1&&count!=50){
array[count]=num;
sum+=num;
count++;
System.out.println("Enter value, -1 to end input");
num=scan.nextInt();}
mean=(float)sum/count;
System.out.printf("Mean is %.3f\n",mean );
for(count1=0;count1<count;count1++){
temp=(array[count1]-mean);
sqr+=(Math.pow(temp,2));
}
sd=Math.sqrt(sqr);
System.out.printf("SD is %.3f ",sd); //alternate method to format the input
}}

Java assignment by M.Junaid-ur-Rehman (2015-EE-402)


110

Result:

PP8.6 Write a program according to diven condition:


Code:

Result:

Java assignment by M.Junaid


M.Junaid-ur-Rehman (2015-EE-402)

You might also like