(股票类 Stock)遵照 9.2 节中 Circle 类的例子,设计一个名为 Stock 的类。这个类包括:
- 一个名为 symbol 的字符串数据域表示股票代码。
- 一个名为 name 的字符串数据域表示股票名字。
-
一个名为 previousClosingPrice 的 double 型数据域,它存储的是前-
一日的股票值。 - 一个名为 currentPrice 的 double 型数据域,它存储的是当时的股票值。
- 创建一支有特定代码和名字的股票的构造方法。
-
一个名为 getChangePercent() 的方法,返回从 previousClosingPrice 变化到 currentPrice 的百分比。
画出该类的 UML 图并实现这个类。编写一个测试程序,创建一个 Stock 对象,它的股票代码是 ORCL,股票名字为 Oracle Corporation ,前一日收盘价是 34.5 。设置新的当前值为 34.35 ,然后显示市值变化的百分比。
程序代码
public class Stock {
String symbol;
String name;
double previousClosingPrice;
double currentPrice;
public Stock() {
symbol="00000";
name="java";
}
public Stock(String symbol,String name,double previousClosingPrice,double currentPrice) {
this.symbol=symbol;
this.name=name;
this.previousClosingPrice=previousClosingPrice;
this.currentPrice=currentPrice;
}
public double getChangePercent() {
return (Math.max(previousClosingPrice, currentPrice) - Math.min(previousClosingPrice, currentPrice))/previousClosingPrice*100;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Stock s=new Stock("ORCL","Oracle Corporation",34.5,34.35);
System.out.println("Symbol:"+s.symbol);
System.out.println("Name:"+s.name);
System.out.println("PreviousClosingPrice:"+s.previousClosingPrice);
System.out.println("CurrentPrice:"+s.currentPrice);
System.out.println("ChangePercent:"+s.getChangePercent()+"%");
}
}
运行结果:
Symbol:ORCL
Name:Oracle Corporation
PreviousClosingPrice:34.5
CurrentPrice:34.35
ChangePercent:0.434782608695648%
转载于:https://www.cnblogs.com/Asherspace/p/8849131.html