[go: up one dir, main page]

0% found this document useful (0 votes)
150 views33 pages

Java Assignment: Class Modifications

The document modifies several Java classes: 1. The Account class is modified to allow opening an account with just a name and account number. 2. The Student class is modified to include test scores as attributes. 3. The Course class is modified to calculate the average test score of all students in a course. 4. The RationalNumber class is modified to include comparison methods to compare two rational numbers.

Uploaded by

Sohaib Choudhary
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
150 views33 pages

Java Assignment: Class Modifications

The document modifies several Java classes: 1. The Account class is modified to allow opening an account with just a name and account number. 2. The Student class is modified to include test scores as attributes. 3. The Course class is modified to calculate the average test score of all students in a course. 4. The RationalNumber class is modified to include comparison methods to compare two rational numbers.

Uploaded by

Sohaib Choudhary
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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