【问题标题】:I want to call a stock.setPrice() method but I don't know how我想调用 stock.setPrice() 方法,但我不知道如何
【发布时间】:2014-05-03 19:53:29
【问题描述】:

我需要设置几只股票的当前价格,但我不知道如何设置。 我知道我应该做类似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();
    }
}

【问题讨论】:

  • 您的问题相当广泛,我已尽力回答,但您能否总结一下您遇到的确切问题是什么?

标签: java tostring stock


【解决方案1】:

那里有很多需要修复的地方。

您需要在Stock 实例上调用所有非静态方法。首先,您需要创建一个。您的构造函数已损坏:应将一个声明为 public Stock 而不是 public void Stock - 第一个是构造函数,后者是 void 方法(误导性地)称为 Stock

完成后,您可以创建一个实例:

Stock s = new Stock(...arguments here...);

并用它来设定价格:

s.setPrice(5.12);

打印s会自动调用ìtstoString

System.out.println(s);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    相关资源
    最近更新 更多