我需要设定几种股票的当前价格,但我不知道如何。 我知道我应该做类似stocksymbol.setPrice()的事情,但它不起作用。 然后我需要 “通过传递每个Stock变量来打印每个股票的信息 的System.out.println()。这将自动调用股票的toString()方法。“ 而且我不确定它将如何调用toString。请帮忙吗?
public class Stock {
private String symbol;
private String name;
private double previousClosingPrice;
private double currentPrice;
public void Stock(String symbol, String name, double previousClosingPrice {
this.symbol= symbol;
this.name =name;
this.previousClosingPrice = previousClosingPrice;
}
public void setPrice(String symbol,double a) {
this.symbol=symbol;
currentPrice=a;
}
public double getChangePercent() {
double percentageDiff=100 * (currentPrice - previousClosingPrice) / previousClosingPrice;
return percentageDiff;
}
public String toString() {
return symbol+" "+name+" "+previousClosingPrice+" "+currentPrice;
}
public void main(String[] args) {
// TODO Auto-generated method stub
Stock("JAVA","Sun Microsystems, Inc.",4.5);
Stock("GOOG","Google Inc.",1007.95);
Stock("AAPL","Apple Inc.",512.49);
setPrice("JAVA",4.35);
System.out.println();
}
}
答案 0 :(得分:0)
那里有很多东西要修复。
您需要在Stock
个实例上调用所有非静态方法。首先,您需要创建一个。您的构造函数已损坏:一个应该声明为public Stock
而不是public void Stock
- 第一个是构造函数,后者是void
方法(误导性地)称为Stock
。
完成后,您可以创建一个实例:
Stock s = new Stock(...arguments here...);
并用它来设定价格:
s.setPrice(5.12);
打印s
会自动调用“toString
:
System.out.println(s);