return pricePerShare; } public void setPricePerShare(double pricePerShare) { thi
ID: 3568392 • Letter: R
Question
return pricePerShare;
}
public void setPricePerShare(double pricePerShare) {
this.pricePerShare = pricePerShare;
}
public double getChangePerShare() {
return changePerShare;
}
public void setChangePerShare(double changePerShare) {
this.changePerShare = changePerShare;
}
public boolean equals(Stock st)
{
if(st.name.equals(name))
{
return true;
}
return false;
}
public String toString()
{
String temp="";
temp+="name: "+name+" ";
temp+="price per share: "+pricePerShare+" ";
temp+="change per share : "+changePerShare+" ";
return temp;
}
}
========================================================
PreferredStock.java
package com.charan;
public class PreferredStock extends Stock {
private double dividendPerShare;
public PreferredStock(String name, double pricePerShare,
double changePerShare,double dividendPerShare) {
super(name, pricePerShare, changePerShare);
// TODO Auto-generated constructor stub
this.dividendPerShare = dividendPerShare;
}
public String toString()
{
String temp=super.toString();
temp+="dividend per share: "+dividendPerShare;
return temp;
}
}
Driver1.java
package com.charan;
public class Driver1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Stock st=new Stock("Charan",23.898,4566.8);
System.out.println(st);
System.out.println();
PreferredStock ps=new PreferredStock("vishnu", 365.12, 2.1302, 32.0);
System.out.println(ps);
System.out.println();
}
}
Explanation / Answer
SOLUTION:
import java.util.*;
public class Stock
{
private String name;
private double pricePerShare;
private double changePerShare;
public Stock(String name, double pricePerShare, double changePerShare)
{
this.name = name;
this.pricePerShare = pricePerShare;
this.changePerShare = changePerShare;
}
public Stock(Stock st)
{
name = st.name;
pricePerShare = st.pricePerShare;
changePerShare = st.changePerShare;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public double getPricePerShare()
{
return pricePerShare;
}
public void setPricePerShare(double pricePerShare)
{
this.pricePerShare = pricePerShare;
}
public double getChangePerShare()
{
return changePerShare;
}
public void setChangePerShare(double changePerShare)
{
this.changePerShare = changePerShare;
}
public boolean equals(Stock st)
{
if(st.name.equals(name))
{
return true;
}
return false;
}
public String toString()
{
String temp="";
temp+="name: "+name+" ";
temp+="price per share: "+pricePerShare+" ";
temp+="change per share : "+changePerShare+" ";
return temp;
}
}
class PreferredStock extends Stock
{
private double dividendPerShare;
public PreferredStock(String name, double pricePerShare,double changePerShare,double dividendPerShare)
{
super(name, pricePerShare, changePerShare);
// TODO Auto-generated constructor stub
this.dividendPerShare = dividendPerShare;
}
public String toString()
{
String temp=super.toString();
temp+="dividend per share: "+dividendPerShare;
return temp;
}
public double getDividendPerShare()
{
return this.dividendPerShare;
}
}
class Driver1
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
ArrayList<Stock> list = new ArrayList<Stock>();
Stock st1=new Stock("Charan",23.898,4566.8);//Create New Stock Object
list.add(st1);//Add to ArrayList
Stock st2=new Stock("Karan",24.898,4966.8);//Create New Stock Object
list.add(st2);//Add to ArrayList
PreferredStock ps1=new PreferredStock("vishnu", 365.12, 2.1302, 32.0);//Create New PreferredStock Object
list.add(ps1);//Add to ArrayList
PreferredStock ps2=new PreferredStock("kishnu", 355.12, 1.1302, 52.0);//Create New PreferredStock Object
list.add(ps2);//Add to ArrayList
//Now Printing the Arraylist
for(Stock i :list)
System.out.println(i);
//Now proceeding to Calculate Stock Value & Dividend
double value=0,dividend=0;
for(Stock i :list)
{
// Calculate Value;
value+=((i.getPricePerShare()*100));//Adding to get value after multiplying by 100
if(i instanceof PreferredStock)//Checking if instance of PreferredStock
{
// Claculate Dividend for PreferedStock only;
PreferredStock ii = (PreferredStock)i;// Type Casting
dividend+=(ii.getDividendPerShare()*100);//Adding to get dividend after multiplying by 100
}
}
System.out.println();
System.out.println("Value:"+value);
System.out.println("Dividend:"+dividend);
System.out.println();
//Getting a COPY of PREFERRED STOCK & modifying it
for(Stock i :list)
{
if(i instanceof PreferredStock)//Checking if instance of PreferredStock
{
Stock copy = new Stock(i);//Note Here 'i' is an instance of PreferedStock
copy.setName("ZZZZ");//Changing Name
System.out.println();
System.out.println("PRINTING AFTER MODIFYING THE COPY");
System.out.println("Original PreferedStock:");
System.out.println(i);
System.out.println();
System.out.println("COPY Stock:");
System.out.println(copy);
System.out.println();
break;
}
}
/*Create a new PreferredStock itemthat has the same name as one of the items in your list and use the ArrayList indexOf method to display its position in the list. This will test your equals method*/
for(Stock i :list)
{
if(i instanceof PreferredStock)//Checking if instance of PreferredStock
{
PreferredStock copy2 = new PreferredStock("kishnu", 355.12, 5.1302, 72.0);//Same Name as One Previous PreferedStock
if(copy2.equals(i))
{// If Name Matches and they are Equal
System.out.println("Printing Index of Matched Name:");
System.out.println(list.indexOf(i));
}
}
}
}
}
please comment for any doubts
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.