Chapter #7: Java Assignment by M.Junaid-ur-Rehman (2015-EE-402)
Chapter #7: Java Assignment by M.Junaid-ur-Rehman (2015-EE-402)
Chapter #7: Java Assignment by M.Junaid-ur-Rehman (2015-EE-402)
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; }
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;
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);
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());
}
Result:
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(){
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);
}}
Result:
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);
}}}
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") }}
Result:
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:
Result:
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:
Result:
Result: